zoukankan      html  css  js  c++  java
  • 节点概述

    一般来讲节点至少拥有下面三个属性
                1.nodeType:节点类型
                2.nodeName:节点名称
                3.nodeValue:节点值
    • 元素节点的nodeType为1;
    • 属性节点的nodeType为2
    • 文本节点的nodeType为3(文本节点包含文字,空格,换行等)

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

    节点层级:利用DOM树可以吧节点划分为不同的层级关系,最常见的是父子兄层级关系

            1.父级节点
                node.parentNode
            2.子节点
                1.parent.Node.childNodes(标准),
                    返回包含指定节点的子节点的集合,该集合为即时更新的集合
                    注意:所有的子节点,包含元素节点 文本节点等等(firstChild,lastChild)也一样
                
                2.parentNode.children(非标准),它是一个只读属性,只返回子元素节点
                各个浏览器均支持,可放心使用(也是实际开发中常用的)

      实际开发中 选择第一个子元素且没有兼容性问题

                    parentNode.children[index];
            3.兄弟节点
                1.nextSibling 下一个兄弟节点 包含元素节点 文本节点
                    nextElementSibling  获取上一个元素节点(存在兼容性问题,IE9以上才支持)
                2.previousSibling 上一个兄弟节点 包含元素节点 文本节点
                    previousElementSibling 上一个元素节点(存在兼容性问题,IE9以上才支持)
                如何解决兼容性问题:自己封装一个兼容性的函数
                 
       function getNextElementSibling(element) {
                var el = element;
                while (el = el.nextSibling) {
                    if (el.nodeType === 1) {
                        return el;
                    }
                }
                return null;
            }
                
  • 相关阅读:
    高级架构进阶之HashMap源码就该这么学
    MySQL底层索引剖析
    一篇文章把本该属于你的源码天赋还给你
    不懂RPC实现原理怎能实现架构梦
    观《亿级流量网站架构核心技术》一书有感
    高效程序员如何优雅落地需求
    职场软技能:开启程序员的“破冰之旅”
    获取ScrollView的onScrollListener
    Android自定义控件之圆形进度条ImageView
    Android之內置、外置SDCard
  • 原文地址:https://www.cnblogs.com/woaiacfun/p/13854728.html
Copyright © 2011-2022 走看看