我需要获得元素的下一个兄弟,但它不应该有类“foo”。在jQuery中,这将是:
myEl.next("div.goodClass")
or
myEl.next().not(".foo")
可以使用 nextSibling 完成吗?
答案 0 :(得分:1)
您可以使用正则表达式检查 nextSibling 的 className 属性:
if (/(?:^|\s)foo(?:\s|$)/.test(el.nextSibling.className)) {
// next sibling has foo class
}
如果你想找到没有那个类的下一个元素,你可以这样做:
var el = document.getElementById("myEl");
while (el = el.nextSibling) {
if (!(/(?:^|\s)foo(?:\s|$)/.test(el.className)))
break;
}
// el is either null, or an element that doesn't have the foo class
答案 1 :(得分:0)
试试这个:
if (elem.nextSibling && !/(?:^|\s+)foo(?:\s|$)/.test(elem.nextSibling.className)) {
// there is a next sibling that does not have the class foo
}
答案 2 :(得分:0)
试试这段代码,
x=myEl.nextSibling;
while (x.nodeType!=1)
{
if(x.className=="foo"){
x=x.nextSibling;
}
}
return x;