document获取DOM节点的三种方法详解

2019-05-16  本文已影响0人  创造new_world

https://blog.csdn.net/wzw9353/article/details/78784096

document获取DOM节点的三种方法详解

最近转行做前端,刷js的时候看到document获取DOM元素的三种方法时懵逼了很久,自行研究一番后分享给大家。
我们通过Document对象至少有三种方式获取DOM元素,分别为:

   document.getElementById();  
   document.getElementsByTagName();
   document.getELementsByClassName();

document.getElementById():根据页面标签的唯一id来获取,返回的是一个对象,自然可以调用对象的方法,例如:children。

document.getElementsByTagName():看到elements就知道这个获取的是多个对象,所以返回的是对象的集合,哪怕只有一个一个对象,也会返回长度为1的数组,只能通过索引返回对象调用对象的方法。

document.getELementsByClassName('xxx'):这个跟上面一个类似,返回的也是数组,但是需要注意的是,它会返回所有包含xxx或者只有xxx的标签的数组。

下面通过一个例子演示一下:

<div id="test-div">
    <div class="c-red">
      <p id="test-p">JavaScript</p>
      <p>Java</p>
    </div>
    <div class="c-red c-green">
      <p>Python</p>
      <p>Ruby</p>
      <p>Swift</p>
    </div>
    <div class="c-green">
      <p>Scheme</p>
      <p>Haskell</p>
    </div>
</div>

1 .选择<p>JavaScript</p>:

刚好这个p标签里就有id,那么就直接获取

document.getElementById('test-p');

2 . 选择<p>Python</p>,<p>Ruby</p>,<p>Swift</p>:
①:var arr=document.getElementById(‘test-div’).getElementsByTagName(‘div’)[1].children;
②:var arr=document.getElementsByClassName(‘c-red’)[1].children;

3 .选择<p>Haskell</p>:
var x=document.getElementsByClassName(‘c-green’)[1].children[1]

上一篇 下一篇

猜你喜欢

热点阅读