我正在尝试使用jQuery contains()方法遍历包含类<li>
的所有.fas
标记,并对每个标记执行一些操作。
$('li:contains(".fas")').each(function (index) {
//stuff
}
我一直在获取包含未定义的参考错误。我使用这种方法不正确吗?
答案 0 :(得分:1)
答案 1 :(得分:1)
另一种方法是翻转逻辑。
$('.fas').closest('li');
您可以找到所有fas,然后找到其父项lis。
答案 2 :(得分:-1)
您的疑问含糊不清,让我难以回答这个问题。
首先,
$('li.fas')
对欺骗引擎说:获取所有具有类fas
的元素,然后将其简化为li
的元素(具有该类)
这之间有一个空格:
$('li .fas')
获取所有具有类fas
的元素,然后简化为li
元素的后继元素。
$('li>.fas')
获取所有具有类fas
的元素,然后将其归类为li
元素的直接子元素。
另一个答案带有.has()
,所以我不再重复。
过滤器:(在这种情况下,基本上与:has()相同
$('li').filter(function(){
// reduce the li set; return true when a descendant has the 'fas' class
return !!$(this).find('.fas').length;
});
更多有关上下文的信息:https://stackoverflow.com/a/16423239/125981