查找数据属性等于true的所有LI元素

use*_*926 0 html jquery custom-data-attribute

我有一组具有数据属性的li元素,data-is-archived = true/false我需要遍历所有li,寻找任何data-is-archived等于true的元素.目前我这样做:

$('#comment-section').find('li').data('is-archived')

我知道false,这是部分正确的.页面上有两个LI元素,此属性为false,另一个设置为true.它似乎停止在那个错误的那个而不再继续下去.可能有500个li元素,其中355个可能是真的.

什么是正确的方法来获得所有有data-is-archived=true背部的li元素?

Dav*_*mas 5

只需使用相关的attribute-equals选择器(不要使用find(),不需要):

$('#comment-section li[data-is-archived="true"]')
Run Code Online (Sandbox Code Playgroud)

要找出有多少属性设置为"true":

$('#comment-section li[data-is-archived="true"]').length;
Run Code Online (Sandbox Code Playgroud)

要查找索引,并将它们返回到数组中:

$('#comment-section li[data-is-archived="true"]').map(function(i) {
    return i;
}).get();
Run Code Online (Sandbox Code Playgroud)