三.HTML DOM 对象列表 & 一切从 Document 对象 开始

 

HTML DOM 对象列表

HTML DOM 对象列表
对象描述
Document代表整个 HTML 文档,可被用来访问页面中的所有元素
Anchor代表 <a> 元素
Area代表图像映射中的 <area> 元素
Base代表 <base> 元素
Body代表 <body> 元素
Button代表 <button> 元素
Event代表某个事件的状态
Form代表 <form> 元素
Frame代表 <frame> 元素
Frameset代表 <frameset> 元素
Iframe代表 <iframe> 元素
Image代表 <img> 元素
Input button代表 HTML 表单中的一个按钮
Input checkbox代表 HTML 表单中的复选框
Input file代表 HTML 表单中的文件上传
Input hidden代表 HTML 表单中的隐藏域
Input password代表 HTML 表单中的密码域
Input radio代表 HTML 表单中的单选按钮
Input reset代表 HTML 表单中的重置按钮
Input submit代表 HTML 表单中的确认按钮
Input text代表 HTML 表单中的文本输入域(文本框)
Link代表 <link> 元素
Meta代表 <meta> 元素
Object代表 <Object> 元素
Option代表 <option> 元素
Select代表 HTML 表单中的选择列表
Style代表单独的样式声明
Table代表 <table> 元素
TableData代表 <td> 元素
TableRow代表 <tr> 元素
Textarea代表 <textarea> 元素
PS:加色为重点学习和研究的目标

一.从 Document 对象 开始

Document 对象代表整个 HTML 文档,可用来访问页面中的所有元素。

Document 对象是 Window 对象的一个部分,可通过 window.document 属性来访问。

Document 对象的描述

HTMLDocument 接口对 DOM Document 接口进行了扩展,定义 HTML 专用的属性和方法。

很多属性和方法都是 HTMLCollection 对象(实际上是可以用数组或名称索引的只读数组),其中保存了对锚、表单、链接以及其他可脚本元素的引用。

这些集合属性都源自于 0 级 DOM。它们已Document.getElementsByTagName() 所取代,但是仍然常常使用,因为他们很方便。

write() 方法 值得注意,在文档载入和解析的时候,它允许一个脚本向文档中插入动态生成的内容。

注意,在 1 级 DOM 中,HTMLDocument 定义了一个名为 getElementById() 的非常有用的方法。在 2 级 DOM 中,该方法已经被转移到了 Document 接口,它现在由 HTMLDocument 继承而不是由它定义了。

IE: Internet Explorer, F: Firefox, O: Opera, W3C: World Wide Web Consortium (Internet 标准).

Document 对象的集合

集合描述IEFOW3C
all[] 返回对文档中所有 HTML 元素的引用。419Yes
anchors[]返回对文档中所有 Anchor 对象的引用。419Yes
applets返回对文档中所有 Applet 对象的引用。----
forms[]返回对文档中所有 Form 对象引用。419Yes
images[]返回对文档中所有 Image 对象引用。419Yes
links[]返回对文档中所有 Area 和 Link 对象引用。419Yes

all[]集合

测试 :

IE特有的,FF没有

1
2
3
4
5
6
7
8
9
<!--

var i, origLength;
origLength = document.all .length ; //文档中所有 HTML 元素的个数
document.write ( 'document.all.length=' + origLength+ "<br />" ) ;
for ( i = 0 ; i < origLength; i++ )
{
document.write ( "document.all[" + i+ "]=" + document.all [ i] .tagName + "<br />" ) ; //所有元素的标签名
}
//-->

说明:

all[] 是一个多功能的类似数组的对象,它提供了对文档中所有 HTML 元素的访问。all[] 数组源自 IE 4 并且已经被很多其他的浏览器所采用。

all[] 已经被 Document 接口的标准的 getElementByid() 方法和 getElementsByTagName() 方法以及 Document 对象的 getElementsByName() 方法所取代。尽管如此,这个 all[] 数组在已有的代码中仍然使用。

all[] 包含的元素保持了最初的顺序,如果你知道它们在数组中的确切数字化位置,可以直接从数组中提取它们。然而,更为常见的是使用 all[] 数组,根据它们的 HTML 属性 name 或 id 来访问元素。如果多个元素拥有指定的 name,将得到共享同一名称的元素的一个数组。

anchors[]

说明:anchors 集合可返回对文档中所有 Anchor 对象的引用。

测试 :

1
2
3
<a
 name
=
"first"
>
First anchor</
a
><br
 /
>

<a name = "second" > Second anchor</ a ><br / >
<a name = "third" > Third anchor</ a ><br / >
1
2
3
4
document.write
(
document.anchors
.length
)
;

//返回文档中锚的数目
document.write ( document.anchors [ 0 ] .innerHTML )
//返回文档中第一个锚的内容

forms[]

forms 集合可返回对文档中所有 Form 对象的引用。

测试 :

1
2
3
<form
 name
=
"Form1"
></
form
>

<form name = "Form2" ></ form >
<form name = "Form3" ></ form >
1
2
3
4
5
6
7
 //计算文档中表单的数目

document.write ( "This document contains: " ) ;
document.write ( document.forms .length + " forms." ) ;
 
//访问集合中的项目
document.write ( "<p>第一个表单名称是:" + document.forms [ 0 ] .name + "</p>" )
document.write ( "<p>第一个表单名称是:" + document.getElementById ( "Form1" ) .name + "</p>" )

images[]

images[] 集合可返回对文档中所有 Image 对象的引用。

测试:

1
2
<img
 src
=
"http://cssrainbow.cn/wp-content/themes/rainbow/images/subscribeViaEmail.png"
 alt
=
"subscribeViaEmail"
>

<img src = "http://cssrainbow.cn/wp-content/themes/rainbow/images/subscribeViaRSS.png" alt = "subscribeViaRSS" >
1
2
3
4
5
6
  var
 img_src=
''
;

for ( i= 0 ; i< document.images .length ; i++ )
{
img_src+= document.images [ i] .src + "/n " ; //返回所有图片的路径名
}
alert ( img_src) ;

links[]

links 集合可返回对文档中所有 Area 和 Link 对象的引用。

注意:如果一个标记既有 name 属性,又有 href 属性,则它既是一个 Anchor 对象,又是一个 Link 对象。

Document 对象的属性

属性描述IEFOW3C
body提供对 <body> 元素的直接访问。对于定义了框架集的文档,该属性引用最外层的 <frameset>。    
cookie设置或返回与当前文档有关的所有 cookie。419Yes
domain返回当前文档的域名。419Yes
lastModified返回文档被最后修改的日期和时间。41NoNo
referrer返回载入当前文档的文档的 URL。419Yes
title返回当前文档的标题。419Yes
URL返回当前文档的 URL。419Yes

Document 对象的方法

方法描述IEFOW3C
close()关闭用 document.open() 方法打开的输出流,并显示选定的数据。419Yes
getElementById()返回对拥有指定 id 的第一个对象的引用。519Yes
getElementsByName()返回带有指定名称的对象集合。519Yes
getElementsByTagName()返回带有指定标签名的对象集合。519Yes
open()打开一个流,以收集来自任何 document.write() 或 document.writeln() 方法的输出。419Yes
write()向文档写 HTML 表达式 或 JavaScript 代码。419Yes
writeln()等同于 write() 方法,不同的是在每个表达式之后写一个换行符。419Yes

open() & close()

重要事项:调用 open() 方法打开一个新文档并且用 write() 方法设置文档内容后,必须记住用 close 方法关闭文档,并迫使其内容显示出来。

测试:

1
2
3
4
5
6
7
function
 createNewDoc(
)

{
var newDoc= document.open ( "text/html" , "replace" ) ;
var txt= "<html><body>Learning about the DOM is FUN!</body></html>" ;
newDoc.write ( txt) ;
newDoc.close ( ) ;
}
1
<input
 type
=
"button"
 value
=
"Write to a new document"
 onclick
=
"createNewDoc()"
>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值