访问相邻兄弟节点

 

function nextSib(node){
 var tempLast = node.parentNode.lastChild;
 //判断是否是最后一个节点,如果是则返回null
 if(node == tempLast)
  return null;
 var tempObj = node.nextSibling;
 //逐一搜索后面的兄弟节点,直到发现元素节点为止
 while(tempObj.nodeType!=1 && tempObj.nextSibling!=null)
  tempObj = tempObj.nextSibling;
 //三目运算符,如果是元素节点则返回节点本身,否则返回null
 return (tempObj.nodeType==1)?tempObj:null;
}

 


function prevSib(node){
 var tempFirst = node.parentNode.firstChild;
 //判断是否是第一个节点,如果是则返回null
 if(node == tempFirst)
  return null;
 var tempObj = node.previousSibling;
 //逐一搜索前面的兄弟节点,直到发现元素节点为止
 while(tempObj.nodeType!=1 && tempObj.previousSibling!=null)
  tempObj = tempObj.previousSibling;
 return (tempObj.nodeType==1)?tempObj:null;
}

 

 

 

判断next()的兄弟节点是否存在

if($("#test").next().length == 0)

 

你可能感兴趣的:(访问相邻兄弟节点)