我试着编写一个循环遍历所有元素的函数,并为每个第3个元素(1,4,7,10等)添加一个类,除非该元素具有类'foo'...
他们是否可以在我的循环中执行此操作?
$('.container12 > .grid_12 > .grid_4').filter(function (index) {
return index % 3 === 0;
}).addClass("alpha");
答案 0 :(得分:4)
您可以使用nth-child选择器:
$('.container12 > .grid_12 > .grid_4:nth-child(3n+1):not(\'.foo\')')
.addClass("alpha");
答案 1 :(得分:4)
怎么样:
$('.container12 > .grid_12 > .grid_4').filter(function (index) {
return !$(this).hasClass('x') && index % 3 === 0;
}).addClass("alpha");
答案 2 :(得分:0)
您可能正在寻找:not()
选择器:
试试这个:
$(".container12 > .grid_12 > .grid_4 li:not('.foo')")
.filter(function (index) {
return index % 3 === 0;
})
.addClass("alpha");
它将alpha
类应用于每个第3个元素,忽略具有类foo
的元素。
<强> jsFiddle 强>