节点类型

  DOM规定:整个文档是一个文档节点,每个标签是一个元素节点,元素包含的文本是文本节点,元素的属性是一个属性节点,注释属于注释节点,如此等等;

  每个节点都有一个nodeType属性,用于标明节点的类型,简单说明如表,该表列出了不同的节点类型,以及他们可拥有的子节点类型。

节点类型 说明 可包含的节点类型
Document 表示整个文档,DOM数的根节点 Element(最多一个),processingInstruction、comment、docuemntType
DocumentFagment 表示文档片段,轻量级的Document对象,进包含部分文档     processingInstruction、Comment、Text、CDATASection、EntityReference    
documentType     为文档定义的尸体提供接口     none
processingInstruction   表示处理命令 none
EntityRerence 表示实体引用元素 processingInstruction、comment、text、CDATASection、EntityReference
Attr 表示属性 text、EntityReference
Element   表示元素 text、comment、EntityReference、CDATASection、processingInstruction
comment   表示注释 none
entity 表示实体 processingInstruction、comment、text、CDATASection、EntityReference
CDATASection 表示文档中的CDATA区段,其包含的文本不会被解析器解析 processingInstruction、comment、text、CDATASection、EntityReference
Notation 表示在DTD中声明的符号 none
     

使用nodeType属性返回值可以判断一个节点的类型,具体说明如下

节点类型       nodeType       常量名                  
Element   1 ELEMENT_NODE
Attr   2 ATTRIBUTE_NODE
Text 3 TEXT_NODE
CDATASection 4 CDATA_SECTION_NODE
EntityReference 5 ENTITY_REFERENCE_NODE
Entity 6 ENTITY_NODE
ProcessingInstruction      7 PROCESSING_INSTRUCTION_NODE
Comment 8 COMMENT_NODE
Document 9 DOCUMENT_NODE
DocumentType 10 DOCUMENT_TYPE_NODE
DocumentFragment 11 DOCUMENT_FRAGMENT_NODE
Notation 12 NOTATION_NODE
function count(n){
var num=0;
if(n.nodeType==1){ //判断节点的类型是否是元素,是就累加
num++;
}
var s=n.childNodes; //节点下的子节点
for(var i=0;i<s.length;i++){
num+=count(s[i]);
}
return num; } console.log("当前文档包含"+count(document)+"元素");

在上面javascript脚本中,定义一个计数器函数,然后通过递归的方式逐层检索document下所包含的全部节点,在计数函数中在通过nodeType属性是否为1过滤

掉非元素节点,从而统计出文档中包含全部的元素个数。

DOM-使用节点的更多相关文章

  1. JavaScript HTML DOM 元素(节点)

    JavaScript HTML DOM 元素(节点) 创建新的 HTML 元素 创建新的 HTML 元素 如需向 HTML DOM 添加新元素,您必须首先创建该元素(元素节点),然后向一个已存在的元素 ...

  2. DOM树节点和事件

    一.前言:DOM树节点是JS的基础语句.通过节点,能够取到HTML代码中的任意标签,从而对其进行修改和添加各种视觉效果. 二.DOM树节点    DOM节点分为三大类: 元素节点,属性节点,文本节点  ...

  3. JavaScript之DOM创建节点

    上几篇文章中我们罗列了一些获取HTML页面DOM对象的方法,当我们获取到了这些对象之后,下一步将对这些对象进行更改,在适当的时候进行对象各属性的修改就形成了我们平时看到的动态效果.具体js中可以修改D ...

  4. dom操作节点之常用方法

    DOM:获取节点:{1. document.getElementById (元素id):通过元素id找到节点2. document.getElementsByClassName (元素类名classN ...

  5. 围绕DOM元素节点的增删改查

    HTML 文档中的所有内容都是节点: 整个文档是一个文档节点 document 每个 HTML 元素是元素节点 element HTML 元素内的文本是文本节点 每个 HTML 属性是属性节点 注释是 ...

  6. jQuery 中使用 DOM 操作节点,对页面中的表格实现增、删、查、改操作

    查看本章节 查看作业目录 需求说明: 在 jQuery 中使用 DOM 操作节点,对页面中的表格实现增.删.查.改操作 点击"增加"超链接时,将表格中的第一条数据添加到表格的末尾 ...

  7. 简述HTML DOM及其节点分类

    在JavaScript中,document这个对象大家一定很熟悉,哪怕是刚刚开始学习的新人,也会很快接触到这个对象.而document对象不仅仅是一个普通的JavaScript内置对象,它还是一个巨大 ...

  8. DOM 元素节点几何量与滚动几何量

    当在 Web 浏览器中查看 HTML 文档时,DOM 节点被解析,并被渲染成盒模型(如下图),有时我们需要知道一些信息,比如盒模型的大小,盒模型在浏览器中的位置等等,本文我们就来详细了解下元素节点的几 ...

  9. DOM Element节点类型详解

    上文中我们讲解了 DOM 中最重要的节点类型之一的 Document 节点类型,本文我们继续深入,谈谈另一个重要的节点类型 Element . 1.概况 Element 类型用于表现 HTML 或 X ...

  10. DOM Document节点类型详解

    在前面 DOM 概况 中,我们知道了 DOM 总共有 12 个节点类型,今天我们就来讲下 DOM 中最重要的节点类型之一的 document 节点类型. 1.概况 Javascript 通过 Docu ...

随机推荐

  1. bootstrap-treeview 加载默认选择第一个节点

    configAppTree: function (oArrayData){ $('#appTree').treeview({ color: "#545454", expandIco ...

  2. MahApps.Metro扁平化UI控件库(可修改主题色等)

    一.名词解释 使用MahApps.Metro扁平化UI控件库,可以使界面呈现更加美观.本文将总结MahApps.Metro的使用方法,及如何自定义修改其主题颜色等. 详细内容可参考官网:https:/ ...

  3. C博客第03次作业---函数

    1.本章学习总结 1.1 思维导图 1.2 本章学习体会及代码量学习体会 1.2.1 学习体会 首先,对于学习了函数的我来说是很开心的,因为学了函数之后可以解决很多以前不懂的问题,可以说函数是C语言中 ...

  4. Weekly Contest 129

    1020. Partition Array Into Three Parts With Equal Sum Given an array A of integers, return true if a ...

  5. jzoj5806

    我們發現,如果有奇環顯然無解,因為我們每一次合併一個奇環,一定會產生一個偶環和一個更小的奇環,最終會形成一個三元環而無法合併 所以,這個圖需要是一個二分圖,需要進行二染色 然後把這個圖所有的偶環找出來 ...

  6. 操作系统(Operating System,OS)

    操作系统(Operating System,OS) 是配置在计算机硬件上的第一层软件,是对计算机硬件系统的首次扩充,是一个计算机系统最基础,也是最重要的系统软件. 操作系统的作用 1 实现对计算机资源 ...

  7. 【bug】安卓浏览器键盘输入改变弹出层的定位

    bug描述 在安卓浏览器中,有一个在页面底部的弹出层表单,样式如下: .popup { position: absolute; bottom: 0; } 当在这个弹出层输入内容,键盘自动弹出,弹出层的 ...

  8. Kafka消息队列

    转自:http://blog.csdn.net/yfkiss/article/details/17348693 代码案例 http://blog.csdn.net/ganglia/article/de ...

  9. (转)Mysql 索引原理及优化

    本文内容主要来源于互联网上主流文章,只是按照个人理解稍作整合,后面附有参考链接. 一.摘要 本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题.特别需要说明的是,MySQL支持诸多存储引 ...

  10. css自动适应宽度

    .itemContent { background-color:#F0F0F0; padding:3px 11px 11px 11px; text-align:justify; text-justif ...