DOM--3 DOM核心和DOM2 HTML(3)
核心Element对象
操作Element对象的属性
为了简化对attributes的处理,Element对象中包含了很多用来操纵Node对象的attributes属性的方法:
- getAttribute(name);
- setAttribute(name, value);
- removeAttribute(name);
类似地,还有一些使用DOM Attr节点对象来操纵属性的方法:
- getAttributeNode(name)方法取得指定属性的Attr节点
- setAttributeNode(newAttr)方法使用Attr对象的实例来设置属性
- removeAttributeNode(oldAttr)方法用来删除指定的属性节点
在Element对象中查找Element对象
在Element对象的范围内,可以用来查找其它节点的唯一有效方法是getElementsByTagName()。getElementsByTagName()方法返回的是一个NodeList对象,其中包括相应标签名称的引用;getElementsByTagName()方法返回的节点中只包含Element节点,不包括其它类型的节点。
Element对象中没有用于创建Element对象的方法;创建新DOM元素的操作完全由Document对象处理
核心Document对象
- document.documentElement
**注意document/window.document返回的是整个文档;而访问文档根元素用document.documentElement;
使用Document对象的方法创建节点
Document对象包含很多用来创建DOM节点新实例的方法。包括:
- createAttribute(name):创建节点类型为Node.ATTRIBUTE_NODE的Attr节点
- createCDATASection(data):创建节点类型为Node.CDATA_SECTION_NODE的CDATASection节点
- createComment(data):创建节点类型为Node.COMMENT_NODE的Comment节点
- createDocumentFragment():创建节点类型为Node.DOCUMENT_FRAGMENT_NODE的DocumentFragment节点
- createElement(tagName):创建节点类型为Node.ELEMENT_NODE的Element节点
- createEntityReference(name):创建节点类型为Node.ENTITY_REFERENCE_NODE的EntityReference节点
- createProcessingInstruction(target,data):创建节点类型为Node.PROCESSING_INSTRUCTION_NODE的ProcessingInstruction节点
- createTextNode(data):创建节点类型为Node.TEXT_NODE的Text节点
使用Document对象的方法查找Element对象
核心Document对象中另外另个重要的方法是getElementsByTagName()方法getElementById()方法
虽然Document对象的getElementsByTagName()方法与Element对象的同名方法功能相同,不过从技术上讲,它们不是同一个函数。Document对象虽然不是继承自Element对象,但它却包含了功能相同的getElementsByTagName()方法,因而可以用这个方法来查询整个文档。
由于不适用于XML文档,所以DOM核心中没有包括getElementsByClassName,不过仍然可以在HTML中使用
DOM2 HTML
DOM2 HTML的规范包含所有HTML元素的特定对象;每个DOM2 HTML对象都是扩展自DOM2核心对象

操作Element对象的属性
当HTML文档呈现在浏览器中时,window.document实际上是HTMLDocument对象的实例。在上图中,HTMLDocument对象从核心的Document对象继承了所有成员,而且还添加了一些属性和方法,如下:
- title:包含位于 'title' 标签的字符串
- referrer:包含链接到当前页面的URL
- domain:包含当前站点的域名
- URL:包含当前页面的URL
- body:引用从 'body' 节点开始的文档树
- images:包含所有 'img' 标签的数组
- applets:包含所有'applet'标签的数组
- links:包含所有'link'标签的数组
- forms:包含所有'form'标签的数组
- anchors:包含所有'a'标签的数组
- cookie:包含当前页面中所哟cookie信息的字符串
- open():打开一个文档,以便接受write()或writeln()方法的输出
- close:关闭当前的文档
- write(data):将输入写入到文档中
- writeln(data):将输入写入文档的同时写入一个换行符
DOM2 HTML的HTMLElement对象
继承自DOM2核心Element的HTMLElement对象,同样也添加了一些属性:
- id:包含id属性的值
- title:元素的标题
- lang:语言代码
- dir:文本的方向(默认是 从左向右 ltr)
- className:包含所有class属性
DOM--3 DOM核心和DOM2 HTML(3)的更多相关文章
- 解密jQuery内核 DOM操作的核心函数domManip
domManip是什么 dom即Dom元素,Manip是Manipulate的缩写,连在一起就是Dom操作的意思. .domManip()是jQuery DOM操作的核心函数 对封装的节点操作做了参数 ...
- Virtual DOM 虚拟DOM的理解(转)
作者:戴嘉华 转载请注明出处并保留原文链接( #13 )和作者信息. 目录: 1 前言 2 对前端应用状态管理思考 3 Virtual DOM 算法 4 算法实现 4.1 步骤一:用JS对象模拟DOM ...
- React v16-alpha 从virtual dom 到 dom 源码简读
一.物料准备 1.克隆react源码, github 地址:https://github.com/facebook/react.git 2.安装gulp 3.在react源码根目录下: $npm in ...
- 什么是DOM,DOM level 1\2\3 的区别是什么
DOM 文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标志语言的标准编程接口.Document Object Model的历史可以追溯至1990年 ...
- -_-#【Dom Ready / Dom Load】
Dom Ready和Dom Load DOM Ready 详解 javascript的domReady 域名解析 - 加载html - 加载js和css - Dom Ready - 加载图片等其他信息 ...
- js 字符串转dom 和dom 转字符串
js 字符串转dom 和dom 转字符串 博客分类: JavaScript 前言: 在javascript里面动态创建标准dom对象一般使用: var obj = document.createE ...
- javascript DOM和DOM操作的四种基本方法
在了解了javascript的语言特性后,javascript真正大放光彩的地方来了——这就是javascript DOM Javascript DOM DOM(Document Object Mod ...
- 精讲 org.w3c.dom(java dom)解析XML文档
org.w3c.dom(java dom)解析XML文档 位于org.w3c.dom操作XML会比较简单,就是将XML看做是一颗树,DOM就是对这颗树的一个数据结构的描述,但对大型XML文件效果可能会 ...
- 虚拟DOM Vitural DOM Tree
提起Virtual DOM,总是给人一种高深莫测的感觉,大家都知道它比DOM快.那么Virtual DOM到底是何方神圣呢?在深入理解Virtual DOM之前,先让我们回顾一下DOM. 一.什么 ...
- DOM & Shadow DOM & Virtual DOM
DOM & Shadow DOM & Virtual DOM What is the difference between Shadow DOM and Virtual DOM? ht ...
随机推荐
- pom.xml中引入局域网仓库
<repositories> <repository> <id>nexus</id> <name>my-nexus-repository&l ...
- HDU 5901 Count primes (1e11内的素数个数) -2016 ICPC沈阳赛区网络赛
题目链接 题意:求[1,n]有多少个素数,1<=n<=10^11.时限为6000ms. 官方题解:一个模板题, 具体方法参考wiki或者Four Divisors. 题解:给出两种代码. ...
- Xcode找不到模拟器
今天新建的工程,突然发现模拟器找不到了,之前遇到过忘记怎么解决了,于是再次记录下解决方法. 首先说下问什么找不到模拟器了,原因就是之前运行的版本和现在xcode的版本不同(的确,我从 Xcode7.3 ...
- 模拟赛1101d2
幸运数字(number)Time Limit:1000ms Memory Limit:64MB题目描述LYK 最近运气很差,例如在 NOIP 初赛中仅仅考了 90 分,刚刚卡进复赛,于是它决定使用一些 ...
- 清除Windows系统桌面快捷方式小箭头
清除Windows桌面快捷方式小箭头,需要重启,且不会导致软件无法锁定到任务栏.新建.reg的注册表文件,命名随意,内容如下: Windows Registry Editor Version 5.00 ...
- *** Assertion failure in -[UIApplication _runWithMainScene:transitionContext iOS9.1闪退问题解决
错误原因在于 AppDelegate 中 didFinishLaunchingWithOptions 结束前 未定义 rootViewController,Xcode7规定必须要有rootViewCo ...
- n数乘积第m小
这是从Java贴吧看到的一道面试题,看了别人的解题思路实现的.... 如题: n个数,他们的乘积可得到一些其它的数,求第m小的. 输入格式: n m n1 n2 n3 ... 例: 输入: 3 8 2 ...
- 按键消抖-----verilog
实际系统中常用的按键大部分都是轻触式按键,如下图所示.该按键内部由一个弹簧片和两个固定触点组成,当弹簧片被按下,则两个固定触点接通,按键闭合.弹簧片松开,两个触点断开,按键也就断开了.根据这种按键的机 ...
- ASP.NET Web API中使用GZIP 或 Deflate压缩
对于减少响应包的大小和响应速度,压缩是一种简单而有效的方式. 那么如何实现对ASP.NET Web API 进行压缩呢,我将使用非常流行的库用于压缩/解压缩称为DotNetZip库.这个库可以使用Nu ...
- Android的两种事件处理机制
UI编程通常都会伴随事件处理,Android也不例外,它提供了两种方式的事件处理:基于回调的事件处理和基于监听器的事件处理. 对于基于监听器的事件处理而言,主要就是为Android界面组件绑定特定的事 ...