节点关系

这篇博客介绍了JavaScript中关于DOM节点的一些基本概念,包括nodetype属性的常见值,如Element节点(1)、Text节点(3)、Comment节点(8)和Document节点(9)。此外,还讨论了不同浏览器对于childNodes属性的处理差异,以及parentNode、previousSibling和nextSibling属性在表示节点关系中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1:原生JS中nodetype属性
常量: Node.ELEMENT_NODE
值:1
描述:一个节点元素.
常量:Node.TEXT_NODE
值: 3
描述:Element或者Attr中实际的文字。
常量: Node.COMMENT_NODE
值:8
描述: 一个Comment节点
常量:Node.DOCUMENT_NODE
值:9
描述:一个Document节点
常量:Node.DOCUMENT_NODE
值:10
描述: 文档类型的Documenttype节点
任何的HTML元素都有nodetype属性,值有1~12。
1:元素节点
3:文本节点
8:注释节点
9:document节点
10:DTD
程序:var box = document.getElementById(‘box’);
alert(box.nodeType);
alert(box.childNodes[0].nodeType);//3
alert(box.childNodes[1].nodeType);//1
alert(document.noteType);//9
2:原生JS中的节点关系-childNodes
任何节点都有childNodes属性,是一个类数组对象,存放着所有自己的儿子。
Chrom、IE9、IE10……高级浏览器,认为:
box.childNodes[0].nodeType;//3
高级浏览器认为box的大儿子是文本节点。当然是空文本。
IE6、7、8认为:
box.childNodes[0].nodeType //1
IE6、7、8认为box的大儿子是p。
3原生JS中节点关系-parentNode
childNode儿子可以很多,parentNode父亲只有一个。
某个元素.parentNode
4:previousSibling、nextSibling
上一个同胞兄弟,下一个同胞兄弟。
需要注意的是,非常大的浏览器兼容问题来了:
< div id = ‘box’>
< p> AAA < /p>
< p> BBB < /p>
< p> CCC < /p>
< p> DDD < /p>
< /div>
ps[2].previousSibling //低级浏览器就是BBB那个p,高级浏览器是空文本节点。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值