节点操作--层级(父子兄)关系

利用节点层级关系获取元素

利用父子兄节点关系获取元素 

网页中所有内容都是节点(标签,属性,文本,注释)。

DOM树中的所有节点都可以通过JavaScript来访问,元素皆可被访问并修改


节点:一般地节点至少拥有nodeType(节点类型),nodename(节点名称)和nideValue(节点值)三个基本属性

元素节点  nodeType为1;
属性节点:nodeType为2
文本节点:nodeType为3;(文本节点包含文字,空格,换行等)

父节点:node.parentNode
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div class="box">
    <div class="cl"></div>
    <script>
        var cl=document.querySelector('.cl');
        //得到的是离元素最近的父节点,如何找不到则返回为null
        console.log(cl.parentNode);
    </script>
</div>

</body>
</html>
子节点:node.children     获取所有的子元素节点
<ul class="ul">
    <li></li>
    <li></li>
    <li></li>
    <li></li>
</ul>
<script>
    var ul=document.querySelector('.ul');
    //获取所有li地子节点
    console.log(ul.children);

</script>

获取ul下li地第一个子节点和最后一个子节点

<body>
<div class="box">
    <div class="cl"></div>
   
</div>
<ul class="ul">
    <li>111</li>
    <li>222</li>
    <li>333</li>
    <li>444</li>
</ul>
<script>
    var ul=document.querySelector('.ul');
    //实际:获取元素地第一个子节点和最后一个子节点地方法
    console.log(ul.children[0]);
    console.log(ul.children[ul.children.length-1])

</script>

</body>

这个可以结合chlidren使用,chlidren返回的是一个数组,可通过元素下标地方式获取

兄弟节点 

元素.previousElementSibling //获取当前节点的前一个同级节点
元素.nextElementSibling //获取当前节点的后一个同级节点

有兼容性问题 IE9以上 

 

感言:

           量的积累

                                                                                            

 

 

 


版权声明:本文为qq_48104836原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。