扫码关注官方订阅号
music.lastChild 得到的不是最后一个.music_play标签是什么原因?
人生最曼妙的风景,竟是内心的淡定与从容!
lastChild不一定能返回最后一个元素(element),你应该用lastElementChild。原因是DOM里面有node的概念,元素(element)是node的一种,还有其他的node type:
lastChild
lastElementChild
<p> text1 <h4>h4 title</h4> text2 <p>this is a paragraph</p> </p>
以上的text1, text2甚至是</p>和</p>之间的换行符都是单独的node。你可以通过p元素的childNodes属性来查看。
</p>
childNodes
你这里的lastChild获取的就是</p>前的一个text node,内容是换行。知道了原因后,那么lastChild什么样才能返回music_play呢?
<p class="music"> <img src="..."> <img src="..." class="music_play"></p>
这样就可以了
你可以先看看 lastChild 和 lastElementChild 的区别,应该就能得到想要的东西了。至于你现在得到的是什么,你可以看看 https://www.w3.org/TR/CSS2/visuren.html 里面的 Anonymous box。
Anonymous box
Node 与 Element。Element是Node的子集。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
lastChild不一定能返回最后一个元素(element),你应该用lastElementChild。原因是DOM里面有node的概念,元素(element)是node的一种,还有其他的node type:
以上的text1, text2甚至是
</p>和</p>之间的换行符都是单独的node。你可以通过p元素的childNodes属性来查看。你这里的lastChild获取的就是</p>前的一个text node,内容是换行。知道了原因后,那么lastChild什么样才能返回music_play呢?
这样就可以了
你可以先看看
lastChild和lastElementChild的区别,应该就能得到想要的东西了。至于你现在得到的是什么,你可以看看 https://www.w3.org/TR/CSS2/visuren.html 里面的
Anonymous box。Node 与 Element。Element是Node的子集。