我试图编写一个循环遍历所有元素并向每个第三元素添加类的函数(1,4,7,10等),除非该元素具有'foo'...为每个第三元素添加类并排除具有X类的元素
是他们在我的循环中做到这一点的一种方式吗?
$('.container12 > .grid_12 > .grid_4').filter(function (index) {
return index % 3 === 0;
}).addClass("alpha");
我试图编写一个循环遍历所有元素并向每个第三元素添加类的函数(1,4,7,10等),除非该元素具有'foo'...为每个第三元素添加类并排除具有X类的元素
是他们在我的循环中做到这一点的一种方式吗?
$('.container12 > .grid_12 > .grid_4').filter(function (index) {
return index % 3 === 0;
}).addClass("alpha");
一下:
$('.container12 > .grid_12 > .grid_4').filter(function (index) {
return !$(this).hasClass('x') && index % 3 === 0;
}).addClass("alpha");
您可以使用nth-child选择:
$('.container12 > .grid_12 > .grid_4:nth-child(3n+1):not(\'.foo\')')
.addClass("alpha");
这是最好的办法,海事组织 - 'nth-child'选择器比'filter'简洁得多。 –
你可能寻找:not()
选择:
试试这个:
$(".container12 > .grid_12 > .grid_4 li:not('.foo')")
.filter(function (index) {
return index % 3 === 0;
})
.addClass("alpha");
它应用alpha
类每3个元素,而忽略与类foo
的元素。
要排除一个类,你可以这样做'.addClass( '阿尔法')不是。( 'X');' –
@KrisHollenbeck你可能要筛选_before_添加班,不是? – Mathletics
是的,我只是举一个简单的例子来说明如何使用它。 –