javascript - 关于js中的childNodes[]
PHP中文网
PHP中文网 2017-04-10 17:28:40
[JavaScript讨论组]

在学习DOM对象操作HTML时,看到removeChild是用于删除节点,想删除第一个p元素,childNodes[0]竟然没反应,要childNodes[1]才能删除第一个P元素,然后我在前面加了没有标签包裹的文字,再用childNodes[0]却又能删去了?意思是[0]只能用于删除没有标签的文本内容吗?还是怎样。。。求解。。
还有childNodes[3]也是没删去一个。。又是为啥。。

代码如下


这句话用于测试的

p的p1元素

p的p2元素

下面是结果显示。。
p.childNodes[0]的结果

动态添加p元素

p的p1元素

p的p2元素

p.childNodes[1]的结果

这句话用于测试的

p的p1元素

p的p2元素

p.childNodes[3]的结果

这句话用于测试的

动态添加p元素

p的p1元素

p的p2元素

p.childNodes[4]的结果

这句话用于测试的

动态添加p元素

p的p1元素

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(1)
巴扎黑

是这样的:childNodes是包括一个元素的所有直接子节点。

比如:

<p id="p">
    这句话用于测试的
    <p id="pid">p的p1元素</p>
    <p>p的p2元素</p>
</p>

childNodes(0) 其实就是这句话用于测试的这个文本节点(注意:文本节点也包括不可见字符,例如回车和换行)。

如果想获取所有元素节点,可以使用children,比如获取第一个元素节点children[0],就能取到`<p id="pid">p的p1元素</p>
`

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号