我尝试做的事情基本上是通过ul
进行,其组织方式如
<ul class="some-ul">
<li class="some-li"></li>
<li></li>
<li></li>
<li class="some-li"></li>
</ul>
<ul class="some-ul">
<li class="some-li"></li>
<li></li>
<li></li>
<li></li>
</ul>
<ul class="some-ul">
<li class="some-li"></li>
<li class="some-li"></li>
<li class="some-li"></li>
<li class="some-li"></li>
</ul>
并使用li
类的some-li
和其他与li
不具备该类别的内容进行比较。所以,它等同于
$('ul.some-class li.some-class').each(function() {
// do something
});
$('ul.some-class li:not(.some-class)').each(function() {
// do something else
});
除了我想要像
那样做$('ul.some-class').each(function() {
// loop through the list elements of this list
});
但我不知道如何构建内循环。这是可能的,如果是的话,我应该使用什么工具?
答案 0 :(得分:3)
在0
内,.each
将是迭代的当前元素。然后,您可以使用this
查找其中的元素:
$(this).find()
答案 1 :(得分:1)
您可以使用hasClass
和CSS选择器来获取所有直接孩子(<li>
s)。
$('ul.some-class > li').each(function() {
if ($(this).hasClass('some-class')) {
//Do something
} else {
//Do something else
}
});
答案 2 :(得分:0)
遍历所有<li>
并使用hasClass()
查看它们是否适合您想要的课程并做出相应的反应
$('.some-ul').children().each(function(){
// "this" is current li
if ( $(this).hasClass('some-li') ){
$(this).doSomeClassThing();
} else {
$(this).doNoClassThing();
}
});
一次通过,你就完成了
答案 3 :(得分:0)
每次调用的回调都将索引和元素作为参数。
这样你可以
$('ul.some-class').each(function(i, elt) {
$(elt, 'li.some-class').each ...
});