javascript - 如果没有 id 且 class 不是唯一的,如何选择正确的元素?
问题描述
我有一个按钮列表。需要从列表中选择唯一的一个按钮(第三个)。因此,一旦我单击“新按钮”,它就必须从按钮 #3(第三按钮)执行操作。我的问题是<li>
标签没有id,所以我下面的迭代是不成功的。
<div class="listButtons" id="anyId">
<ul class="test">
<li>
<input value="Btn1" class="btn" name="Elem 1" title="Elem 1" type="button">
</li>
<li>
<input value="Btn2" class="btn" name="Elem 2" title="Elem 2" type"button">
<input value="Btn3" class="btn" name="Elem 3" title="Elem 3" type"button">
<input value="Btn4" class="btn" name="Elem 4" title="Elem 4" type"button">
</li>
</ul>
<div>
我试过:1。
const newButton = $("#someId");
const buttonsList = $("ul.test")
const thirdButton = buttonsList.find("input[name='Elem 3']")
newButton.click(() => {
thirdButton.click()
})
2.
const newButton = $("#someId");
const buttonsList = $("ul.test")
const thirdButton = buttonsList.find("input[name='Elem 3']")
$(function() {
$("ul.test").find(".btn").each((index, elem) => {
let elementValue = $(elem).attr("value")
if(elementValue === "Btn3") {
newButton.click(() => {
$(elem).click()
})
}
})
解决方案
您还可以通过标签名称获取元素。我将从获取父元素的类或 id 开始,然后通过带有 for 循环的标签名称遍历子元素。
document.getElementById('parent').getElementsByTagName('childrensTags')
然后遍历那些直到你找到你想要的控制
推荐阅读
- html - 如有必要,让卡片内容占据可用高度
- c# - GET 和 POST 请求的模型差异
- python - 使用 AWS Texttract 处理 PDF
- excel - excel中的多选下拉列表
- c - 是否可以在 C 中“取消字符串化” __func__ ?
- sql - 在 postgreSql 中如何向操作符“IN”提供手动创建数组?
- javascript - 消毒剂 VS 危险的SetInnerHtml
- environment-variables - next.js - 环境与 serverRuntimeConfig
- mongodb - 如何用 Go 驱动程序替换 MongoDB 中的文档?
- vue.js - Behaviour of Vue-observable, when adding properties after creation