JavaScript通过document类型表示文档。在浏览器中,document对象是HTMLDocument的一个实例,表示整个HTML页面。document对象是window对象的一个属性。
Document特征:
- nodetype的值为9
- nodename的值为"#document"
- nodevalue的值为null
- parentnode的值为null
- ownerDocument的值为null
- .......
Document类型可以表示HTML页面或者基于XML页面的文档。
1.文档的子节点
documentElement属性始终指向<html>元素;可以通过childNode列表访问文档元素。
1
2
3
4
5
|
<
html
>
<
body
>
</
body
>
</
html
>
|
1
2
3
|
var
html=document.documentElement;
//取得<html>元素的引用
alert(html===document.childNode[0]);
//true
alert(html===document.firstChild);
//true
|
document.body可以取得<body>元素。
所有浏览器都支持这两种属性。
2.文档信息
标题:
1
2
3
4
|
//取得文档标题
var
originaTitle=document.title;
//设置文档标题
document.title=
"New Page Title"
;
|
1
2
3
4
5
6
|
//取得完整的URL地址
var
url=document.url;
//取得域名
var
domain=document.domain;
//取得来源页URL
var
referrer=docment.refeerer;
|
这3个属性中domain是可以设置的,但有限制。
1
2
3
4
5
6
7
8
|
//假设页面来自p2p.wrox.com域
document.domain=
"wrox.com"
//正确
document.domain=
"baidu.com"
//错误
//域名一开始是松散的就不能设置成紧凑的
document.domain=
"wrox.com"
//松散的(正确)
document.domain=
"p2p.wrox.com"
//紧凑的(错误)
|
3.查找元素
documen.getElementsById()
1
2
3
4
5
6
7
8
9
10
11
12
|
<div id=
"myDiv"
>Some text</div>
//取得<div>元素的引用()
var
div=document.getElementById(
"myDiv"
);
//错误示范(不区分大小写,但在IE7及以前可用)
var
div=document.getElementById(
"mydiv"
);
//特殊的IE7及以前版本
<input type=
"text"
name=
"MyElement"
value=
"text"
/>
<div id=
"MyElement"
>div</div>
//在使用document.getElementById("MyElement"),IE7及以前版本会取得对input元素的引用,而不是对div元素的引用
|
documen.getElementsByTagName(),返回包含零个或多个元素的NodeList.
1
2
3
4
5
6
|
//取得img元素的引用
var
images=document.getElementsByTagName(
"img"
);
//输出图像的数量
alert(images.length);
//输出第一个图像的src属性
alert(images[0].src);
|
documen.getElementsByName(),只有HTMLDocument类型才有。
4.特殊集合
-
document.anchors,包含文档中所有带name属性的a标签。
-
document.form,包含文档中所有的form元素。
-
document.image,包含文档中所有图片。
-
document.link,包含文档中所有带href的a标签。
5.文档写入
document.write(),输出显示到文档中。
document.writeln(),输出及换行。
document.open(),打开网页。
document.close(),关闭网页。