zoukankan      html  css  js  c++  java
  • js文档节点关系

    这一节简单介绍一下文档节点方面的相关内容:

    一:获得节点关系的属性

      1、获得该元素父节点的引用:obj.parentNode;

            <div class="content">
                <p class="img1"><img src="img/lingzhiling.jpg" /></p>
                <p class="img2"><img src="img/yufeihong.jpg" /></p>
            </div>
            <script type="text/javascript">
                var content = document.getElementsByClassName('content')[0];
                var img1 = document.getElementsByClassName('img1')[0];
                var img2 = document.getElementsByClassName('img2')[0];
                // 获得父节点的引用
                img1.onclick = function() {
                    this.innerHTML = this.parentNode.className;
                }
            </script>

      

      2、获得该对象的子节点的集合obj.childNodes;

      注意:元素中的空格被视为文本,而文本被视为节点

      提示:您可以使用 length 属性来确定子节点的数量,以NodeList为对象,然后您就能够遍历所有的子节点并提取您需要的信息。

            <div class="content">
                <p class="img1"><img src="img/lingzhiling.jpg" /></p>
                <p class="img2"><img src="img/yufeihong.jpg" /></p>
            </div>
            <script type="text/javascript">
                var content = document.getElementsByClassName('content')[0];
                var img1 = document.getElementsByClassName('img1')[0];
                var img2 = document.getElementsByClassName('img2')[0];
                // 获得子节点的集合
                var childs = content.childNodes; // 元素中的空格被视为文本,而文本被视为节点。
            </script>


      3、返回该对象的第一个子节点的引用:obj.firstChild;

      注释:在 HTML 中,文本本身是 HTML 元素的父节点,HEAD 和 BODY 是 HTML 元素的子节点。以Node为对象

            <div class="content">
                <p class="img1"><img src="img/lingzhiling.jpg" /></p>
                <p class="img2"><img src="img/yufeihong.jpg" /></p>
            </div>
            <script type="text/javascript">
                var content = document.getElementsByClassName('content')[0];
                var img1 = document.getElementsByClassName('img1')[0];
                var img2 = document.getElementsByClassName('img2')[0];
                /*获得第一个子节点的引用*/ 
                img2.onclick = function(){   
                    console.log(content.firstChild.nextElementSibling);
                    this.innerHTML = document.firstChild.nodeName;
                }
            </script>

      

      4、返回列表中最后一个子节点;obj.lastChild

      注释:lastChild 属性返回指定节点的最后一个子节点,以 Node 对象。

      

      5、获得下一个兄弟节点的引用:obj.nextSibling 

      注释:元素中的空格被视作文本,而文本被视作文本节点。请尝试在两个 <p> 元素之间添加空格,结果将是 "undefined"。如果没有 nextSibling 节点,则返回值为 null。

            <div class="content">
                <p class="img1"><img src="img/lingzhiling.jpg" /></p><p class="img2"><img src="img/yufeihong.jpg" /></p><p class="text1">第一个</p><p class="text2">第二个</p>
            </div>
            <script type="text/javascript">
                var content = document.getElementsByClassName('content')[0];
                var img1 = document.getElementsByClassName('img1')[0];
                var img2 = document.getElementsByClassName('img2')[0];
                /*获得下一个兄弟节点的引用*/
                img1.onclick = function(){
                    img1.innerHTML = img1.nextSibling.className;
                }
    </script>

      6、获得上一个兄弟节点的引用:obj.previousSibling ;

  • 相关阅读:
    Python股票分析系列——系列介绍和获取股票数据.p1
    快速相关
    特别长序列的快速卷积
    长序列的快速卷积
    快速卷积
    素因子快速傅里叶变换
    用一个N点复序列的FFT同时计算两个N点实序列离散傅里叶变换
    实序列快速傅里叶变换(二)
    实序列快速傅里叶变换(一)
    java 对于手机号码、邮箱、银行卡号脱敏一条龙服务
  • 原文地址:https://www.cnblogs.com/tanxiang6690/p/6868486.html
Copyright © 2011-2022 走看看