javascript - js 使用last-child出现了问题?
黄舟
黄舟 2017-04-10 18:10:21
[JavaScript讨论组]

music.lastChild 得到的不是最后一个.music_play标签是什么原因?

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(3)
迷茫

lastChild不一定能返回最后一个元素(element),你应该用lastElementChild
原因是DOM里面有node的概念,元素(element)是node的一种,还有其他的node type:

<p>
text1
<h4>h4 title</h4>
text2
<p>this is a paragraph</p>
</p>

以上的text1, text2甚至是</p></p>之间的换行符都是单独的node。你可以通过p元素的childNodes属性来查看。

你这里的lastChild获取的就是</p>前的一个text node,内容是换行。知道了原因后,那么lastChild什么样才能返回music_play呢?

<p class="music">
    <img src="...">
    <img src="..." class="music_play"></p>

这样就可以了

大家讲道理

你可以先看看 lastChildlastElementChild 的区别,应该就能得到想要的东西了。
至于你现在得到的是什么,你可以看看 https://www.w3.org/TR/CSS2/visuren.html 里面的 Anonymous box

伊谢尔伦

Node 与 Element。Element是Node的子集。

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

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