JS中遍历子元素的方法是什么,使用有什么要注意的
Admin 2022-07-09 群英技术资讯 650 次浏览
后来W3C通过Element Traversal规定定义了一组新的属性来进行遍历,就不用判断了,非常方便。
遍历子元素通常是通过childNodes
属性进行遍历,但是这个属性会包含空白节点,如果只是要遍历Element
元素就特别不方便。
请看如下代码示例:
<div class="article"> <p>段落一</p> <p>段落二</p> <p>段落三</p> </div> <script type="text/javascript"> let childList = document.querySelector(".article").childNodes; console.log(childList); // 控制台输出: // NodeList(7) 1 </script>
控制台查看效果:
遍历子元素空白节点:
获取到的子元素包含了空白的text
节点,这些节点就是一些换行、缩进、空格等。
如果要遍历 childList
中p元素,实务中也经常是这样,
那么需要判断子元素为Element类型:
let childList = document.querySelector(".article").childNodes; // 遍历子元素 childList.forEach((item, index) => { if (item.nodeType == 1) { // 判断是Element类型 console.log(item); } }); // 控制台输出: // 3个p元素
Element Traversal为DOM元素添加了5个属性:
childElementCount
子元素的个数(nodeType=1
)。firstElementChilde
指向第一个Element
类型的子元素。lastElementChilde
指向最后一个Element
类型的子元素。previousElementSibling
指向上一个同胞Element
类型的元素。nextElementSibling
指向下一个同胞Element
类型的元素。通过这些新属性,遍历Element
元素起来就方便多了,
还是以上面为例:
// 获取第一个元素 let currentElement = document.querySelector(".article").firstElementChild; // 遍历子元素 while (currentElement) { console.log(currentElement); // 获取下一个元素 currentElement = currentElement.nextElementSibling; }
这样处理起来就更加简洁了。
目前IE9及以上版本,以及所有现代浏览器都支持这些属性。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
&&和||总是傻傻分不清,在这里详细记录一下吧,也给你们分享一下,所以这篇文章主要给大家介绍了关于javascript中&&运算符与||运算符的使用方法,需要的朋友可以参考下
前几天在vue运行项目过程中报错了,所以下面这篇文章主要给大家介绍了关于Vue报错Syntax Error:TypeError: this.getOptions is not a function的解决方法,需要的朋友可以参考下
这篇文章主要介绍了vant自定义二级菜单操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
项目中遇到比较多的的文档内容,为了方便查找里面的小内容,一般都会在左侧或者右侧放一个固定楼层的导航栏,今天就来说一下这个固定楼层导航栏的思路以及实现的方法
HTML5中的大部分动画都是通过Canvas实现,因为Canvas就像一块画布,我们可以通过调用脚本在Canvas上绘制任意形状,甚至是制作动画,这篇文章主要给大家介绍了关于用几十行js实现很炫的canvas交互特效的相关资料,需要的朋友可以参考下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008