zoukankan      html  css  js  c++  java
  • HTML DOM item() 方法

    一直不知道javascript还有类似jQ里面eq()的函数,原来原生javascript的item()有类似功能:

    由于是原生javascript,先补习下childrenchildNodes的区别:

    1,childNodes:它是标准属性,它返回指定元素的子元素集合,包括HTML节点,所有属性,文本节点
    可以通过nodeType来判断是哪种类型的节点,只有当nodeType==1时才是元素节点,2是属性节点,3是文本节点。
    2,children:非标准属性,它返回指定元素的子元素集合。
    但它只返回HTML节点,甚至不返回文本节点,虽然不是标准的DOM属性,但它和innerHTML方法一样,得到了几乎所有浏览器的支持。

    实例

    返回元素的首个子节点:

    document.body.childNodes.item(0);
    

      测试代码:w3c地址来测试

    <!DOCTYPE html>
    <html>
    <body>
    <div id="div1">
     <p class="demo">点击按钮来获得 body 元素0个子节点的名称。</p>
     <p class="demo">点击按钮来获得 body 元素1个子节点的名称。</p>
     <p class="demo">点击按钮来获得 body 元素2个子节点的名称。</p>
     <p class="demo">点击按钮来获得 body 元素3个子节点的名称。</p>
    </div>
     <div id="demo"></div>
    
    <button onclick="myFunction()">试一下</button>
    
    <script>
    function myFunction()
    {
    var x = document.getElementById("demo");
    var div1 =  document.getElementById("div1"); 
    x.innerHTML = div1.childNodes.item(3).nodeName; 
    //x.innerHTML = div1.children.item(1).nodeName; //children得到的是元素节点 } </script> </body> </html>

    下面来说明下item()的用法:

    定义和用法

    item() 方法节点列表中位于指定索引的节点。

    以下两条语法产生相同的结果:

    document.body.childNodes.item(0);
    
    document.body.childNodes[0];
    

     

     

  • 相关阅读:
    一些你不知道的js特性【一】
    webpack打包优化实践
    prerender-spa-plugin预渲染踩坑
    前端学习中你必须了解的几张图
    fis3打包中的一些注意事项
    js中的运算符优先级
    Vivado安装教程
    ISE14.7使用教程(一个完整工程的建立)
    如何高效的编写Verilog HDL——进阶版
    Vivado 2017封装自定义IP Core
  • 原文地址:https://www.cnblogs.com/mmzuo-798/p/6862639.html
Copyright © 2011-2022 走看看