本教程操作环境:windows7系统、CSS3&&HTML5版、Dell G3电脑。
一直不知道javascript还有类似jQ里面eq()的函数,原来原生javascript的item()有类似功能:
由于是原生javascript,先补习下children和childNodes的区别:
1,childNodes:它是标准属性,它返回指定元素的子元素集合,包括HTML节点,所有属性,文本节点。可以通过nodeType来判断是哪种类型的节点,只有当nodeType==1时才是元素节点,2是属性节点,3是文本节点。
2,children:非标准属性,它返回指定元素的子元素集合。但它只返回HTML节点,甚至不返回文本节点,虽然不是标准的DOM属性,但它和innerHTML方法一样,得到了几乎所有浏览器的支持。
实例
立即学习“前端免费学习笔记(深入)”;
返回元素的首个子节点:
document.body.childNodes.item(0);
测试代码:w3c地址来测试
<!DOCTYPE html><html><body><p id="p1"> <p class="demo">点击按钮来获得 body 元素0个子节点的名称。</p> <p class="demo">点击按钮来获得 body 元素1个子节点的名称。</p> <p class="demo">点击按钮来获得 body 元素2个子节点的名称。</p> <p class="demo">点击按钮来获得 body 元素3个子节点的名称。</p></p> <p id="demo"></p><button onclick="myFunction()">试一下</button><script>function myFunction(){var x = document.getElementById("demo");var p1 = document.getElementById("p1"); x.innerHTML = p1.childNodes.item(3).nodeName; //x.innerHTML = p1.children.item(1).nodeName; //children得到的是元素节点}</script></body></html>
下面来说明下item()的用法:
定义和用法
item() 方法节点列表中位于指定索引的节点。
以下两条语法产生相同的结果:
document.body.childNodes.item(0);document.body.childNodes[0];
推荐学习:html视频教程
免责声明:本站内容仅用于学习参考,信息和图片素材来源于互联网,如内容侵权与违规,请联系我们进行删除,我们将在三个工作日内处理。联系邮箱:chuangshanghai#qq.com(把#换成@)