DOM= Document Object Model,文档对象模型,DOM可以以一种独立于平台和语言的方式访问和修改一个文档的内容和结构。换句话说,这是表示和处理一个HTML或XML文档的常用方法。DOM实际上是以面向对象方式描述的文档模型。DOM定义了表示和修改文档所需的对象、这些对象的行为和属性以及这些对象之间的关系。可以把DOM认为是页面上数据和结构的一个树形表示,不过页面当然可能并不是以这种树的方式具体实现。

通过 JavaScript,您可以重构整个 HTML 文档。您可以添加、移除、改变或重排页面上的项目。

几个常用的节点类型:

节点类型 节点描述 nodeName nodeValue nodeType
element 元素节点 元素名 null 1
text 文本节点 #text 文本内容 3
document 文档 #document null 9
comment 注释 #comment 注释文本 8
attribute 属性节点 属性名称 属性值 2

nodeType:查看某节点是什么类型

代码如下:

var div1=document.getElementById('div1');
alert(document.nodeType);//弹出数字9
alert(div1.nodeType);//弹出数字1

文字也算节点:

<body>
<div id="div1">123456</div>
<script>
var div1=document.getElementById('div1');
console.log(div1.childNodes);//输出#text
console.log(div1.childNodes[0]);//输出'123456'
console.log(div1.childNodes[0].nodeType);//输出3
</script>
</body>

123456是文本节点(div里面没有东西、换行、文字都是文本节点),childNodes子节点类数组,获取某个节点下的所有子节点

chlidren:不是标准的属性,但是所有浏览器都支持,找到某个元素下所有元素子节点

<body>
<!--<div id="div1">123456</div>-->
<div id="div1"> </div>
<script>
var div1=document.getElementById('div1');
console.log(div1.childNodes[0]);
</script>

结果如下:

div里面只包含文字的算一个子节点(无论有多少空格):

例:

<body>
<div id="div1">qqq </div>
<script>
var div1=document.getElementById('div1');
console.log(div1.childNodes.length);//输出1
</script>
</body>

注释节点:节点类型为数字8

<div id="div1"><!--这是一个注释-->

</div>
<script>
var div1=document.getElementById('div1');
console.log(div1.childNodes[0]);//输出<!--这是一个注释-->
console.log(div1.childNodes[1]);
console.log(div1.childNodes[0].nodeValue);//查看div下注释的内容
</script>
</body>

div下有两个子节点,一个是注释节点,一个是文本节点

属性节点:节点类型为2

<body>
</div>-->
<div id="div1></div>
<script>
var div1=document.getElementById('div1');
console.log(div1.attributes[0].nodeType);//输出2
console.log(div1.attributes[0].nodeValue);//查看节点的属性值,输出div1
console.log(div1.attributes[0].nodeName);//查看节点的属性名,输出id
</script>
</body>

DOM之节点类型加例子的更多相关文章

  1. DOM Element节点类型详解

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

  2. DOM Document节点类型详解

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

  3. 深入理解DOM节点类型第七篇——文档节点DOCUMENT

    × 目录 [1]特征 [2]快捷访问 [3]文档写入 前面的话 文档节点document,隶属于表示浏览器的window对象,它表示网页页面,又被称为根节点.本文将详细介绍文档节点document的内 ...

  4. DOM的概念及子节点类型

    前言 DOM的作用是将网页转为一个javascript对象,从而可以使用javascript对网页进行各种操作(比如增删内容).浏览器会根据DOM模型,将HTML文档解析成一系列的节点,再由这些节点组 ...

  5. DOM的概念及子节点类型【转】

    前言 DOM的作用是将网页转为一个javascript对象,从而可以使用javascript对网页进行各种操作(比如增删内容).浏览器会根据DOM模型,将HTML文档解析成一系列的节点,再由这些节点组 ...

  6. 第10章 文档对象模型DOM 10.1 Node节点类型

    DOM是针对 HTML 和 XML 文档的一个 API(应用程序编程接口) .DOM描绘了一个层次化的节点树,允许开发人员添加.移除和修改页面的某一部分.DOM 脱胎于Netscape 及微软公司创始 ...

  7. javascript DOM中的节点层次和节点类型概述

    针对JS高级程序设计这本书,主要是理解概念,大部分要点源自书内.写这个主要是当个笔记加总结 存在的问题请大家多多指正! 因为DOM这方面的对象方法操作性都特别强,但是逻辑很简单,所以就没有涉及到实际的 ...

  8. DOM基础+domReady+元素节点类型判断

    DOM节点类型  nodeType element  1    Node.ELEMENT_NODE   元素节点 attr  2   Node.ATTRIBUTE_NODE  属性节点 text  3 ...

  9. 深入理解DOM节点类型第五篇——元素节点Element

    × 目录 [1]特征 [2]子节点 [3]特性操作[4]attributes 前面的话 元素节点Element非常常用,是DOM文档树的主要节点:元素节点是html标签元素的DOM化结果.元素节点主要 ...

随机推荐

  1. Nescafe #29 NOIP模拟赛

    Nescafe #29 NOIP模拟赛 不知道这种题发出来算不算侵权...毕竟有的题在$bz$上是权限题,但是在$vijos$似乎又有原题...如果这算是侵权的话请联系我,我会尽快删除,谢谢~ 今天开 ...

  2. Android设置常见控件点击效果

    一. Imageview的点击效果——图片稍微变暗突出点击效果 public class ClickImageView extends AppCompatImageView { public Clic ...

  3. 【华为机试】找最高分(通过此题熟悉牛客网Node输入输出)

    来源:牛客网 老师想知道从某某同学当中,分数最高的是多少,现在请你编程模拟老师的询问.当然,老师有时候需要更新某位同学的成绩. 输入描述: 输入包括多组测试数据.每组输入第一行是两个正整数N和M(0 ...

  4. Python os.walk() 方法

    #coding=utf-8 import os #(dirpath, dirnames, filenames)[文件夹路径, 文件夹名字, 文件名] def file_name(file_dir): ...

  5. 利用jenkins打造通过自定义参数更新svn 指定文件任务

    jenkin可以执行很多构建任务,有时候我们需要在执行构成中同构shell对服务器进行操作而且还需要进行参数的传入 比如:我要利用svn进行本地代码的更新,单又不是所有代码的更新,只更新指定的1个或这 ...

  6. java环境配置针对win10(电脑重装必备) 最后一步很重要

    jdk和jre都默认安装c盘. 系统变量→新建 JAVA_HOME 变量:变量值填写jdk的安装目录(本人是 C:\Program Files\Java\jdk1.8.0_131). 系统变量→新建 ...

  7. 安装ubuntu系统 ——分区

    安装ubuntu 系统主要分四个区 目录 建议大小 格式 描述 / 10G-20G ext4 根目录 swap <2048M swap 交换空间 /boot 400M左右 ext4 Linux的 ...

  8. Android关于LinearLayout和RelativeLayout背景设置的区别

    1.LinearLayout:设置背景时即设置android:background时,假如LayoutLayout设置了android:layout_width="wrap_content& ...

  9. samba服务器配置及window网络磁盘映射

    1. Samba服务器工作原理 客户端向Samba服务器发起请求,请求访问共享目录,Samba服务器接收请求,查询smb.conf文件,查看共享目录是否存在,以及来访者的访问权限,如果来访者具有相应的 ...

  10. OpenShift-OKD3.10基础环境部署

    单master + 双node 1.主机角色划分 #采用双网段部署 0 网段是opesnshift内部通信IP,1 网段是连接外网通信地址 #master master.example.com 192 ...