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