我得到了多个元素的列表,就像您在下面的示例代码段中所找到的一样,我想获得具有特定属性("test"=true)
的所有元素。
$(function() {
let elements = $(".myClass") // This property can no be changed so all I got is a variable that includes the callback of multiple jQuery elements.
// How to extract all elements with the "test"-attribute from the elements property without using a each function?
console.log(elements)
$(elements).each(function() {
console.log($(this).attr("test") === "true")
})
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="myClass">A</div>
<div class="myClass">B</div>
<div class="myClass" test=true>C</div>
是否有任何method
会仅提取具有特定属性的元素(如名为test的属性)?任何帮助将不胜感激。
答案 0 :(得分:4)
您可以过滤掉找到的元素。
$(function() {
let elements = $(".myClass")
console.log( elements.filter('[test="true"]').get() );
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="myClass">A</div>
<div class="myClass">B</div>
<div class="myClass" test=true>C</div>
答案 1 :(得分:0)
您应该使用data
attr(有效的HTML),然后像执行操作一样使用jQuery选择它,例如:
<div data-test='true' class='element1'></div>
<div class='element2'></div>
$(elements).each(function() {
console.log($(this).data("test") === "true"));
})
编辑:LGSon .without using a each function
//如何从目录中提取具有“测试”属性的所有元素 元素属性而不使用每个函数?
在这种情况下:
编辑2 (my mistake
):
allTestElements = $(elements).find(
[data-test ='true'] );
//通过这种方式,您可以再次在所有DOM中搜索var元素
然后您将所有元素都包含在变量中...
希望有帮助!