Javascript之DOM(Document类型)


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






免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM