jquery将类添加到除1之外的所有同级
我有一张这样的清单:jquery将类添加到除1之外的所有同级,jquery,Jquery,我有一张这样的清单: <ul id="items"><li><a href="">Link</a></li><li><a href="">Link</a></li><li class="divider"></li><li><a href="">Link</a></li><li><a href=""&g
<ul id="items"><li><a href="">Link</a></li><li><a href="">Link</a></li><li class="divider"></li><li><a href="">Link</a></li><li><a href="">Link</a></li></ul>
那么,我如何让它忽略带有“divider”类的li呢
非常感谢。您可以在调用
兄弟姐妹时排除除法器
类:
$(this).parent().siblings(':not(.divider)').attr("class", "transparent");
您还可以使用该命令从集合中筛选出您不需要的任何内容。这是传递CSS:not
伪类选择器的替代方法,如Matt所述
$(this).parent().siblings().not(".divider").addClass("transparent");
而且,使用和
编辑:
jQuery不好,请使用DOM;)
jquery建议使用.not()方法。@Kalinga它适用于除IE之外的所有现代浏览器。可以使用DOM垫片填充
$(this).parent().siblings().not(".divider").addClass("transparent");
link.addEventListener("click", function addClasses() {
var li = this.parentNode,
lis = li.parentNode.children;
[].forEach.call(lis, function addClassIfCorrect(el) {
var classList = el.classList
if (el !== li && !classList.contains("divider")) {
classList.add("transparent");
}
});
});