/*
* 返回下一个兄弟“元素”节点(跳过文本节点),为了应付非ie浏览器将换行符和空格视为文本节点的情况。
*/
function nextElement(node){
for(var nextNode = node.nextSibling;nextNode;nextNode = nextNode.nextSibling){
if(nextNode.nodeType == 1){
return nextNode;
}
}
return null;
}
/*
* 返回上一个兄弟“元素”节点(跳过文本节点),为了应付非ie浏览器将换行符和空格视为文本节点的情况。
*/
function previousElement(node){
for(var previousNode = node.previousSibling;previousNode;previousNode = previousNode.previousSibling){
if(previousNode.nodeType == 1){
return previousNode;
}
}
return null;
}
/*
* 返回指定元素的最后一个非文本孩子节点,为了应付非ie浏览器将换行符和空格视为文本节点的情况。
*/
function lastElement(node){
for(var lastNode = node.lastChild;lastNode;lastNode = lastNode.previousSibling){
if(lastNode.nodeType == 1){
return lastNode;
}
}
return null;
}
/*
* 返回指定元素的第一个非文本孩子节点,为了应付非ie浏览器将换行符和空格视为文本节点的情况。
*/
function firstElement(node){
for(var firstNode = node.firstChild;firstNode;firstNode = firstNode.nextSibling){
if(firstNode.nodeType == 1){
return firstNode;
}
}
return null;
}javascript抓取节点时跳过文本节点
选择阅读主题色
各个浏览器对js支持不同,抓取节点时有些浏览器会把文本当成节点,下面的这些函数是用来跳过文本节点的抓取,只抓取标签元素。