如何找到具有数据属性和ID的元素?

时间:2019-05-14 16:14:43

标签: javascript jquery html

是否可以在同一句子中找出元素ID?

<div class="test">
 <input id="999" type="text" data-test="2">
</div>

Example
 $('.test').find('[data-test="2"] #999) 

我试图在我的html代码中找到一个特定的输入,但是此输入存在多次且具有相同的id值,唯一的区别是attr“数据测试”(数字是递增的)

对此有任何帮助吗?

2 个答案:

答案 0 :(得分:1)

因此,这是一个示例,问题是999对于ID无效,并且在查询选择器中不起作用。

记住id也应该是唯一的,所以我不确定为什么需要合并?

const parent = document.querySelector('.test');

const child1 = parent.querySelector('[data-test="2"]');
const child2 = parent.querySelector('[data-test="3"]');

console.log(child1.value);
console.log(child2.value);
<div class="test">
 <input class="demo1" type="text" data-test="2" value="input1">
 <input class="demo1" type="text" data-test="3" value="input2">
</div>

答案 1 :(得分:0)

如果您的标记有效,则id在整个页面上必须是唯一的。因此,您可以跳过选择器的数据部分。

$('#999')

将在有效的文档中解决问题。但是,如果您对各种元素使用递增数字,则您的id可能不是唯一的。在这种情况下,最好使用类。