Dom之文档结构与遍历

1、Document对象、它的Element对象和文档中表示文本的Text对象、comment对象都是Node对象。Node定义了以下重要的属性

  parentNode、childNodes、firstChild、lastChild、nextSibling、previousSibling、NodeType、NodeValue、NodeName(元素的标签名)

  其中:

    NodeType(节点类型)

      1 → 代表Element节点

      3 → 代表Text节点

      8 → 代表Comment(注释)节点

      9 → 代表Document节点

      11 → 代表DocumentFragment节点

2、当将主要的兴趣集中在文档的元素上而非它们之间的文本(和他们之间的空间)上时,有另一个API

  API第一部份:children属性

  API第二部份:Element(统称,其中包括firstElementChild、lastElementChild、nextElementSibling、previousElementSibling、childElementCount)属性

Demo如下

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<div id="wrapper">
    <div class="test" id="first">
        <span>First text</span>
    </div>
    <!-- here is the comment-->
    <div class="test" id="second">Second text</div>
    <div class="test" id="third">Third text</div>
    <div class="test" id="four">Four text</div>
    <div class="test" id="five">Five text</div>
    <div class="test" id="six">Six text</div>
</div>
</body>
<script>
    var $ = function (id) {
        return document.getElementById(id);
    };

    var e = $("wrapper");

    /**
     * children与Element(firstElementChild等的统称)将主要关注的
     * 点集中在元素上,而不是文本上(例如text、comment)
     */
    (function () {
        console.log(e.children);

        console.log(e.firstElementChild);
        console.log(e.lastElementChild);
        console.log(e.firstElementChild.nextElementSibling);
        console.log(e.lastElementChild.previousElementSibling);

        console.log(e.childElementCount);//子元素的数量,返回的值和children.length相等
    })();

    /**
     * Document对象、它的Element对象和文档中表示文本的Text对象都是Node对象
     *
     */
    (function () {
        console.log(e.parentNode);// return body的node对象
        console.log(e.childNodes);// 返回该节点的子节点的实时表示,包含text、comment
        console.log(e.firstChild);// 该节点的子节点的第一个,没有则为null
        console.log(e.lastChild);// 该节点的子节点的最后一个,没有则为null

        var eFirst = $("first");
        console.log(eFirst.nextSibling);// 返回该节点的兄弟节点的下一个节点
        console.log(eFirst.nextSibling.nextSibling);// 这里返回注释节点
        console.log(eFirst.previousSibling);// 返回该节点的兄弟节点的上一个节点

    })();
</script>
</html>

返回结果如下:

  

时间: 2024-10-16 06:23:48

Dom之文档结构与遍历的相关文章

JavaScript之DOM-4 文档结构和遍历(节点树、元素树、文档的遍历)

一.节点树 节点树 概念 - HTML DOM 将 HTML 文档视作树结构 - 文档中的元素.属性.文本.注释等都被看作一个节点 - 这种结构被称为节点树: 上下层节点 - 节点树中的节点彼此拥有层级关系,DOM 使用如下属性遍历整棵节点树: 平行的节点 - 节点树中使用如下方法访问平行的兄弟节点: 二.元素树 元素树 概念 - 元素树是节点树的一个子集,只包含其中的元素节点 上下层元素 - 与节点树一样,元素树上的元素节点也有父子关系,使用如下属性可以获取这些关系: 平行的元素 - 元素树使

文档结构和遍历

1.parentNode 获取该节点的父节点2.childNodes 获取该节点的子节点数组3.firstChild 获取该节点的第一个子节点4.lastChild 获取该节点的最后一个子节点5.nextSibling 获取该节点的下一个兄弟元素6.previoursSibling 获取该节点的上一个兄弟元素7.nodeType 节点的类型,9代表Document节点,1代表Element节点,3代表Text节点,8代表Comment节点,11代表DocumentFragment节点8.node

XML之DOM解析文档

TestDom.java package com.sxt.dom; import java.io.File; import java.io.IOException; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import org.w3c.dom.Do

《CSS设计指南》笔记--HTML标记与文档结构

通过阅读和学习书籍<CSS设计指南>总结 <CSS设计指南>/Charles lvyke-Smith著.李松峰译-人民邮电出版社 本书网站:http://www.stylinwithcss.com 强烈推荐!!深入浅出,精简,适合入门!! HTML标记与文档结构 1.1 HTML标记基础 1.1.1 文本用闭合标签 ??闭合标签的基本格式如下: <标签名>文本内容<标签名/> <标签名 属性_1="属性值" 属性_2="属

CSS设计指南之一 HTML标记与文档结构

HTML标记与文档结构 之所以从HTML讲起,是因为CSS的用途就是为HTML标记添加样式. 1.1 HTML标记基础 对于每个包含内容的元素,根据它所包含的内容是不是文本,有两种不同的方式给它们加标记,一种是使用闭合标签,另一种是使用自闭合标签. 1.1.1 文本用闭合标签 <标签名 属性1="属性值">文本内容</标签名> 标题.段落等文本元素都要求闭合标签,也就是要有一个开标签和一个闭标签. 比如:<p>Words by Paul</p&

(三)文档结构(上)

一.基本文档结构 1.1  文档元素有4种,任何HTML文档都需要这些元素. 1.1.1 DOCTYPE元素 每个HTML文档都必须以DOCTYPE元素开头.浏览器据此得知自己将要处理的是HTML内容.但是即使省略这个元素,大多数浏览器仍能正确地显示文档内容,但是在编写文档的时候还是最好不要省略. <!DOCTYPE html> 解析: 上述语句告诉浏览器: 1. 处理的是HTML文档.  2.用来标记文档内容的HTML所属的版本.该元素没有结束标签,放于文档开头即可. 1.1.2 html元

HTML5的文档结构

HTML5的文档结构 HTML5简化了许多,它的设计遵循了3个原则:1.兼容性.2.实用性.3.通用访问性     1. header 元素 <header> 标签定义文档或者文档的一部分区域的页眉,又可用于设置文章标题. <header> 元素应该作为介绍内容或者导航链接栏的容器. 在一个文档中,您可以定义多个 <header> 元素. 注释:<header> 标签不能被放在 <footer>.<address> 或者另一个 <

HTML5移动开发之路(42)——HTML4与HTML5文档结构比较

本文为 兄弟连IT教育 机构官方 HTML5培训 教程,主要介绍:HTML5移动开发之路(42)--HTML4与HTML5文档结构比较 一般来说,人们在书写包括HTML在内的文档时,习惯上按照类似于"章--节--小节"这样的层次结构来进行. 在HTML4中的描述方式: <html> <head> </head> <body> <h1>第一章 小强的HTML5移动开发之路</h1> <h2>1.1 HTM

重温CSS之文档结构

出处:http://limits.cnblogs.com 我们来看看几个基本的HTML页面 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"&g