WebApi入门第六章( DOM节点 )

简介: WebApi入门第六章( DOM节点 )

1.DOM节点介绍


1.什么是节点:在HTML文档中,一切皆节点(HTML文档本身、标签、属性、注释内容、文本)


2.什么是元素:元素在HTML中叫做标签,在JS的dom对象中称为元素(可以理解为标签的面向对象的叫法)


3.HTML标签属于节点的一种,叫做元素节点


4.节点三要素:

节点类型:标签、属性、注释、文本,nodeType

节点名称:p、div、class(属性名),nodeName

节点的值:one(属性的值),nodeValue


在JavaScript中,document这个对象大家一定很熟悉,哪怕是刚刚开始学习的新人,也会很快接触到这个对象。而document对象不仅仅是一个普通的JavaScript内置对象,它还是一个巨大API的核心对象,这个巨大的API就是DOM(Document Object Model),它将文档的内容呈现在JS面前,并赋予了JS操作文档的能力。


DOM树体现着HTML页面的层级结构,学习中经常提到的父元素子元素的说法也是建立在树这种数据结构的基础之上的,而DOM文档树则包含文档中所有内容。

20210818205758756.png


HTML页面中的所有内容都会体现在DOM文档树中,要理解这种结构,对构成它的每个节点就要先有了解。下面是DOM节点的基本类别,以及各自类别基本属性的值及简单介绍:

20210818205908917.png


2.元素节点与属性节点


1.元素节点

类型 nodeTypoe:1

名称 nodeName:标签名大写

值 nodeValue : null


2.属性节点

类型 nodeTypoe:2

名称 nodeName:属性名

值 nodeValue : 属性值


3.文本节点与注释节点与文档节点


1.文本节点

类型 nodeTypoe:3

名称 nodeName:#text

值 nodeValue : 文本内容


2.注释节点

类型 nodeTypoe:8

名称 nodeName:#comment

值 nodeValue : 注释内容


3.文档节点

类型 nodeTypoe:9

名称 nodeName:#document

值 nodeValue : null


4.获取子节点与子元素


childNodes:获取子节点:(文本节点,注释节点,子元素节点)

细节:属性节点通过attribute来获取,一般用的不多

浏览器兼容问题:IE8及之前不包含非空文本


children:获取子元素:(元素节点)

浏览器兼容问题: IE8及之前包含注释节点


5.兄弟节点与兄弟元素


nextSibling:获取下一个节点 previousSibling:获取上一个节点

IE8及之前:文本(不包含非空)、注释、元素

其他浏览器:文本(包含非空)、注释、元素


6.第一个子节点与第一个子元素


1.firstChild : 第一个子节点


2.firstElementChild:第一个子元素节点

他们两者的浏览器兼容问题与兄弟节点一致


7.最后一个节点与最后一个元素


1.lastChild : 最后一个子节点


2.lastElementChild:最后一个子元素节点

他们两者的浏览器兼容问题与兄弟节点一致


8.获取父节点


parentNode:获取元素的父元素节点

细节:一个元素的父节点一定是一个元素,而不是(文本、注释、属性),只有元素才有子节点


9.小案例(点击关闭二维码 )


需求:点击二维码图片右上角的小叉叉,关闭二维码


完整代码:


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .box {
            border: 1px solid #D9D9D9;
            margin: 100px auto;
            position: relative;
            width: 107px;
        }
        #x {
            border: 1px solid #D9D9D9;
            width: 14px;
            height: 14px;
            line-height: 12px;
            text-align: center;
            color: #D6D6D6;
            cursor: pointer;
            position: absolute;
            top: -1px;
            left: -16px;
        }
    </style>
</head>
<body>
    <div class="box">
        <img src="./taobao.jpg" alt="" />
        <span id="x">×</span>
    </div>
    <script>
        // 需求:点击x关闭二维码
        // 分析:点击x关闭父元素:div.box
        /*
            思路分析:有事件
            1. 事件源:span#x
            2. 事件类型:点击 onclick
            3. 事件处理:让父元素隐藏
        */
        // 思路分析:有事件
        //     1. 事件源:span#x
        //     2. 事件类型:点击 onclick
        document.querySelector('#x').onclick = function () {
            //     3. 事件处理:让父元素隐藏
            // console.log(this);
            this.parentElement.style.display = 'none';
        };
    </script>
</body>
</html>
相关文章
|
1月前
|
XML JavaScript 数据格式
XML DOM 遍历节点树
XML DOM 遍历节点树
|
1月前
|
JavaScript
DOM 节点列表长度(Node List Length)
DOM 节点列表长度(Node List Length)
|
24天前
|
JavaScript
HTML DOM 节点树
HTML DOM 节点是指在 HTML 文档对象模型中,文档中的所有内容都被视为节点。整个文档是一个文档节点,每个 HTML 元素是元素节点,元素内的文本是文本节点,属性是属性节点,注释是注释节点。DOM 将文档表示为节点树,节点之间有父子和同胞关系。
|
24天前
|
JavaScript
HTML DOM 节点
HTML DOM(文档对象模型)将HTML文档视为节点树,其中每个部分都是节点:文档本身是文档节点,HTML元素是元素节点,元素内的文本是文本节点,属性是属性节点,注释是注释节点。节点间存在父子及同胞关系,形成层次结构。
|
1月前
|
XML JavaScript 数据格式
XML DOM 遍历节点树
XML DOM 遍历节点树
|
1月前
|
JavaScript
DOM 节点列表长度(Node List Length)
DOM 节点列表长度(Node List Length)
|
1月前
|
JavaScript
DOM 节点列表长度(Node List Length)
DOM 节点列表长度(Node List Length)
|
1月前
|
JavaScript
DOM 节点列表长度(Node List Length)
DOM 节点列表长度(Node List Length)
|
1月前
|
JavaScript
DOM 节点列表长度(Node List Length)
DOM 节点列表长度(Node List Length)
|
1月前
|
XML JavaScript 数据格式
XML DOM 遍历节点树
XML DOM 遍历节点树