本篇文章给大家带来了关于javascript的相关知识,其中主要介绍了DOM获取集合元素对象的相关问题,可以使用for或for...of循环迭代集合中的元素对象,以操控其属性和方法,下面一起来看一下,希望对大家有帮助。
【相关推荐:javascript视频教程、web前端】
节点集合是节点(索引从0开始)组成的集合
使用for或for...of循环迭代集合中的元素对象,以操控其属性和方法。
属性和方法 | 简单说明 |
length | 节点集合中元素对象个数 |
[n]或item(n) | 返回索引n对应的单个元素对象 |
//在if条件表达式中写出:orderCheckbox元素对象集合中的元素节点的个数大于0 if(orderCheckboxs.length>0) { // 使用普通的for循环迭代orderCheckboxs元素对象集合中的每个元素对象 for(let i=0;i<orderCheckboxs.length;i++){ // 在.前面用item(n)方式获取元素对象集合的元素对象。 orderCheckboxs.item(i).checked= true; // 在.前面用[]方式获取元素对象集合的元素对象。 orderCheckboxs[i].parentElement.className= 'item-selected'; }
//用一下箭头函数哈 selectAll.onchange= (e) => { // 下面的语句是循环体,使用for…of循环迭代orderCheckboxs元素对象集合,循环变量是ele for(let ele of orderCheckboxs){ ele.checked= e.target.checked; if(e.target.checked) { ele.parentElement.classList.add('item-selected'); } else { ele.parentElement.classList.remove('item-selected'); } } };
一般推荐用for..of循环
*****了解下面两个获取元素对象集合的方法。
document(或element).getElementsByClassName('class值')
返回文档火元素后代中class属性为参数的所有元素对象集合。参数只能为HTML元素class属性值(即类名)。
document(或element).getElementsByTagName('标签名')
返回文档或元素后代中标签名为参数的所有元素对象集合。参数只能为HTML元素的标签名.
const orders= document.getElementsByClassName('order'); const input= document.getElementsByTagName('input');
会将空白符文本节点当做子节点,parentNode除外,未找到返回null
属性 | 说明 |
parentNode | 返回当前节点的父节点 |
firstChild | 返回当前节点的第一个子节点 |
lastChild | 返回当前节点的最后一个子节点 |
nextSibling | 返回当前节点的下一个同胞节点 |
previousSibling | 返回当前节点的上一个同胞节点 |
代码例子:
<body> <h1><a href="#">123</a></h1> <h2>快捷支付</h2> <div class="panel"> <ul class="step"> <li>开通</li> <li>下单</li> </ul> </div> <script> const t= setInterval(() => { // 在赋值符右侧写出:通过遍历元素节点的方法获取curStep的上一个元素节点 let lastStep=curStep.previousElementSibling ; // 在赋值符右侧写出:通过遍历元素节点的方法获取curStep的下一个元素节点 let nextStep=curStep.nextElementSibling ; </script>
元素对象的只读性,只遍历元素节点(忽略文本等节点),未找到为null
只读属性 | 说明 |
parentElement | 返回元素的父元素节点 |
firstElementChild | 返回元素的第一个子元素节点 |
lastElementChild | 返回元素最后一个子元素节点 |
nextElementSibling | 返回元素的下一个同胞元素节点 |
previousElementSibling | 返回元素的上一个同胞元素节点 |
<body> <h1><a href="#">123</a></h1> <h2>快捷支付</h2> <div class="panel"> <ul class="step"> <li>开通</li> <li>下单</li> </ul> </div> <script> (() => { const step= document.querySelector('.step'); // 在赋值符右侧写出:通过遍历元素节点的方法获取class为step的第1个子元素节点。 let curStep=step.firstElementChild; const t= setInterval(() => { // 在赋值符右侧写出:通过遍历元素节点的方法获取curStep的上一个元素节点 let lastStep=curStep.previousElementSibling ; // 在赋值符右侧写出:通过遍历元素节点的方法获取curStep的下一个元素节点 let nextStep=curStep.nextElementSibling ; </script>
【相关推荐:javascript视频教程、web前端】
以上是javaScript归纳总结之Dom获取集合元素对象的详细内容。更多信息请关注PHP中文网其他相关文章!