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才支持
  • 相关阅读:
    我已经迷失在事件环(eventloop)中了【Nodejs篇】
    canvas练手项目(二)——各种操作基础
    canvas练手项目(三)——Canvas中的Text文本
    canvas练手项目(一)——选取图片
    迭代器,生成器(generator)和Promise的“微妙”关系
    通过HTTP的HEADER完成各种骚操作
    这份Koa的简易Router手敲指南请收下
    KOA的简易模板引擎实现方式
    扒一扒PROMISE的原理,大家不要怕!
    参考KOA,5步手写一款粗糙的web框架
  • 原文地址:https://www.cnblogs.com/fuyunlin/p/14433376.html
Copyright © 2011-2022 走看看