为什么条件里面写的是nodeType!=1,麻烦说明下元素节点、属性节点和文本节点的区别~
function get_nextSibling(n){ var x=n.nextSibling; while (x && x.nodeType!=1){ x=x.nextSibling; } return x; }
问题:
这句话没看太懂,为什么条件里面写的是nodeType!=1
什么是元素节点? 能分别说明下元素节点、属性节点和文本节点的区别吗?
谢谢各位大神了!!!!!
2015-10-28
<script type="text/javascript">
function get_nextSibling(n){
document.write("n的值为:"+n.value);
var x=n.nextSibling;
while (x && x.nodeType!=1){
x=x.nextSibling;
}
return x;
}
var x=document.getElementsByTagName("li")[0];
document.write("x的值为:"+x.value+"<br/>"+x.nodeValue+"<br/>"+x.nodeName+"<br/>"+x.nodeType+"<br/>");
y=get_nextSibling(x);
</script>
首先,nodeType是用来获得当前节点对象的类型。
nodeType 属性可返回节点的类型。
元素element 1
属性attr 2
文本text 3
注释comments 8
文档document 9
所以nodeType!=1就是说该结点不是元素节点
其次,
元素节点:构成了DOM的基础。文档结构中,<html>是根元素,代表整个文档,其他的还有<head>,<body>,<p>,<span>等等。元素节点之间可以相互包含(当然遵循一定的规则)
文本节点:包含在元素节点中。
属性节点:元素都可以包含一些属性,属性的作用是对元素做出更具体的描述,比如id,name之类的。
http://www.tuicool.com/articles/zANnye
这篇文章里写得很清楚~~~
举报