zoukankan      html  css  js  c++  java
  • 3_1:节点导航 [ 父 子 兄 ]

    一  节点概述

    1)概念

    // . 网页中所有内容都是节点
    // . 文档节点 元素节点 属性节点 文本节点 注释节点
    // . 节点用node表示 // . DOM树的所有节点都可以通过JS访问 // 4 所有元素节点都可以创建 修改 删除

    2)节点属性

    // 节点至少有以下三个属性
    // 1 节点类型 [ nodeType ]
    // 2 节点名称 [ nodeName ]
    // 3 节点值   [nodeValue ]

    元素节点 nodeType 为 1
    属性节点 nodeType 为 2
    文本节点 nodeType 为 3 [ 包含 文字、空格、换行等 ]

    //我们实际开发中,主要操作的是 元素节点

    二 节点层级导航 [ 父 子 兄 ]

     

    1)父节点

    node.parentNode
    // 1  返回离自己最近的父级节点
    // 2  指点的节点没有父节点则返回null
    
    <div>
        <p></p>
    </div>
    var p = document.getElementsByTagName('p');
    console.log(p);
    console.log(p[0].parentNode);//获取到父节点

    2)子节点

    1 返回所有子节点 
      
    parentNode.childNodes
      返回了子节点集合 [ 包含 元素节点 和 文本节点 ]
      想要使用元素节点 需要专门处理 [ 一般不提倡使用childNodes ]

    2 返回第一个子节点
      parentNode.firstNode [ 包含文本节点 ]

    3 返回最后一个子节点
      parentNode.lastNode [ 包含文本节点 ]

    4 返回第一个元素节点 [
    有兼容性问题,IE9 以上才支持 ]
      firstElementNode;
    5 返回最后一个元素节点[ 有兼容性问题,IE9 以上才支持 ]
      lastElementNode;
    上面五个有两个有兼容性问题 有三个包含文本节点
    
    重点学习:parentNode.children
    //非标准 [ 但是得到了各个浏览器的支持 放心使用 ]
    //只返回元素节点 不返回其他节点
    //是一个只读属性

    ul.children[0] //返回第一个元素
    ul.children[ul.children.length - 1] //获取最后一个元素

    3)兄弟节点

    上一个  previousSibling  下一个  nextsibling
    返回的节点包含 文本节点 和 元素节点
    没有找到返回 null

    上一个元素节点 previousElementSibling
    下一个元素节点 next
    ElementSibling
    //这两个有兼容问题 ie9才支持
  • 相关阅读:
    从寻找资源的习惯上谈如何获得好的代码及控件(使用Koders查找)
    数据仓库的一些基本知识2
    淘宝API开发系列商家的绑定
    淘宝API开发系列开篇概述
    读取实体类的属性的备注作为表头的应用
    设置Windows服务允许进行桌面交互,实现屏幕监控
    C#进行Visio二次开发之组合形状操作
    吉日嘎啦通用权限管理系统解读及重构升华高度封装的编辑窗体
    WinForm界面开发之模块化分合
    CLR中的内存管理
  • 原文地址:https://www.cnblogs.com/fuyunlin/p/14433376.html
Copyright © 2011-2022 走看看