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(),关闭网页。