Document类型

1.文档的子节点

Document类型可以表示HTML页面或者其他基于XML的文档。不过,最常见的应用还是作为HTMLDocument实例的document对象。通过这个文档对象,不仅可以取得与页面有关的信息,而且还能操作页面的外观及其底层结构。

虽然DOM标准规定Document节点的子节点可以是DocumentType、Element、ProcessingInstruction或Comment,但还有两个内置的访问其子节点的快捷方式。第一个就是documentElement属性,该属性始终指向HTML页面中的<html>元素。另一个就是通过childNodes列表访问文档元素,但通过documentElement属性则能更快捷、更直接地访问该元素。

作为HTMLDocument的实例,document对象还有一个body属性,直接指向<body>元素。因为开发人员经常要使用这个元素,所以document.body在JavaScript代码中出现的频率非常高,

3.查找元素

说到最常见的DOM应用,恐怕就要数取得特定的某个或某组元素的引用,然后再执行一些操作了。取得元素的操作可以使用document对象的几个方法来完成。其中,Document类型为此提供了两个方法:getElementById()和getElementsByTagName()。

第一个方法,getElementById(),接收一个参数:要取得的元素的ID。如果找到相应的元素则返回该元素,如果不存在带有相应ID的元素,则返回null。注意,这里的ID必须与页面中元素的id特性(attribute)严格匹配,包括大小写。

IE8及较低版本不区分ID的大小写,因此"myDiv"和"mydiv"会被当作相同的元素ID。

如果页面中多个元素的ID值相同,getElementById()只返回文档中第一次出现的元素。IE7及较低版本还为此方法添加了一个有意思的“怪癖”:name 特性与给定 ID匹配的表单元素(<input>、<textarea>、<button>及<select>)也会被该方法返回。如果有哪个表单元素的name特性等于指定的ID,而且该元素在文档中位于带有给定ID的元素前面,那么IE就会返回那个表单元素。

为了避免IE中存在的这个问题,最好的办法是不让表单字段的name特性与其他元素的ID相同。另一个常用于取得元素引用的方法是getElementsByTagName()。这个方法接受一个参数,即要取得元素的标签名,而返回的是包含零或多个元素的NodeList。在HTML文档中,这个方法会返回一个HTMLCollection对象,作为一个“动态”集合,该对象与NodeList非常类似。

对HTMLCollection而言,我们可以向方括号中传入数值或字符串形式的索引值。在后台,对数值索引就会调用item(),而对字符串索引就会调用namedItem()。

要想取得文档中的所有元素,可以向getElementsByTagName()中传入"*"。在JavaScript及CSS中,星号(*)通常表示“全部”。

第三个方法,也是只有HTMLDocument类型才有的方法,是getElementsByName()。顾名思义,这个方法会返回带有给定name特性的所有元素。最常使用getElementsByName()方法的情况是取得单选按钮;为了确保发送给浏览器的值正确无误,所有单选按钮必须具有相同的name特性,与getElementsByTagName()类似,getElementsByName()方法也会返回一个HTMLCollectioin。

时间: 2024-09-30 12:02:15

Document类型的相关文章

从原型链看DOM--Document类型

JavaScript通过Document类型表示文档,原型链的继承关系为:document.__proto__->HTMLDocument.prototype->Document.prototype->Node.prototype->EventTarget.prototype Document节点具有下列特征:以下属性均为Node.prototype上的 nodeType值为9 nodeName值为"#document" nodeValue值为null pare

【EBS WORKFLOW】工作流使用document类型的消息属性

工作流使用document类型的消息属性 工作流的消息内容,最简单的是TEXT文本,或者静态的HTML文本,但能够满足的情况很有限. 很多时候工作流要显示的是一个列表,不确定有多少行,所以不能提前设置,也不可能枚举所有变量. 这时候需要使用动态的消息内容,也就是本文讲述的document类型的消息属性. 开发步骤 定义一个用于动态获取消息内容的存储过程 Oracle Workflow Developer’s Guide 6-12 PROCEDURE get_request_msg(documen

Document类型[第10章-文档对象模型DOM 笔记2]

Document 类型 JavaScript 通过 Document 类型表示文档.在浏览器中, document 对象是 HTMLDocument (继承自 Document 类型)的一个实例,表示整个 HTML 页面.而且, document 对象是 window 对象的一个属性,因此可以将其作为全局对象来访问. Document 类型可以表示 HTML 页面或者其他基于 XML 的文档.不过,最常见的应用还是作为HTMLDocument 实例的 document 对象.通过这个文档对象,不

JavaScript DOM(二)之Document类型

Document类型简介 javaScript通过Document类型表示文档:因此我们称document 为文挡对象,在浏览器中, document对象是HTMLDocument的一个实例,表示整个HTML页面,而且,document对象是window对象的一个属性,因为可以作为一个全局对象来访问: Document类型特征 1:nodeType的值为9; 2:nodeName的值为"#document"; 3:nodeValue的值为null; 4:parentNode的值为nul

第10章 文档对象模型DOM 10.2 Document类型

Document 类型 JavaScript 通过 Document 类型表示文档.在浏览器中, document 对象是 HTMLDocument (继承自 Document 类型)的一个实例,表示整个 HTML 页面.而且, document 对象是 window 对象的一个属性,因此可以将其作为全局对象来访问. Document 类型可以表示 HTML 页面或者其他基于 XML 的文档.不过,最常见的应用还是作为HTMLDocument 实例的 document 对象.通过这个文档对象,不

[10.DOM]Document类型

document对象是HTMLDocument的一个实例,表示整个html页面.document对象是window对象的一个属性,因此可以将其作为全局对象访问. 文档的子节点 <html>的引用:document.documentElement <body>的引用:document.body 文档信息 网页标题:document.title 当前页url:document.URL 当前页域名:document.domain 来源页的url:document.referrer 查找元

59.关系型与document类型数据模型对比

现假设有如下两个类: class Department(object): def __init__(self, dept_id, name, desc, employees=[]): self.dept_id = dept_id self.name = name self.desc = desc self.employees = employees class Employee(object): def __init__(self, emp_id, name, age, gender, dept

DOM-Document类型

Document类型 JavaScript通过Document类型表示文档.在浏览器中,document对象是HTMLDocument(继承自Document类型)的一个实例,document对象是window对象的一个属性,因此可以将其作为全局对象来访问.Document节点具有下列特征: nodeType的值为9 nodeName的值为“#document” nodeValue的值为null parentNode的值为null ownerDocument的值为null 其子节点可能是一个Do

从原型链看DOM--Node类型

前言: 本系列从原型,原型链,属性类型等方面下手学习了DOM文档对象模型,旨在弄清我们在DOM中常用的每一个属性和方法都清楚它从哪里来要到哪里做什么事,这样对于理解代码有一定启发.全靠自己在总结中摸索,所以对于一个问题要是深究还真能挖出许多有意思的东西,现在觉得JavaScript这个东西简直越来越有意思了. 正文:DOM(文档对象模型)是针对HTML和XML文档的一个API(应用程序编程接口).DOM描绘了一个层次化的节点树,允许开发人员添加,移除,修改页面某一部分,现在它已成为表现和操作页面