原生js获取兄弟元素
2020-12-18 20:34
标签:asc class null 节点 element 兄弟节点 return scl sibling 原生js获取兄弟元素 标签:asc class null 节点 element 兄弟节点 return scl sibling 原文地址:https://www.cnblogs.com/dongxiaolei/p/14129441.html//获取某元素后相邻的所有class名为MsoToc2的兄弟元素
nextAll(node){
let that = this,
nextNode = that.next(node),
nodeArray = [];
while(nextNode != null && that.hasClass(nextNode,‘MsoToc2‘)){
nodeArray.push(nextNode);
nextNode = that.next(nextNode);
}
return nodeArray;
}
如:this.nextAll(msoToc1[i])获取元素msoToc1[i]后边相邻的所有class名为MsoToc2的元素 //下一个兄弟节点
next = (node) => {
let next = node.nextSibling;
if(next !== null && next.nodeType === 3 ){ //防止内联元素在ie下出现的空白节点和火狐下的空白节点
return next.nextSibling;
}
return next;
}
hasClass = (element, cName) => {
let reg = new RegExp("(?:^| +)" + cName + "(?: +|$)", "g");
return reg.test(element.className);
}