最近中文字幕大全|熟女少妇精品一区二区|国产网红主播精品一区|日本一区二区精品理论电影|欧洲少妇无码精品视频在线|久久国产精品永久免费网站|人妻无码久久一区二区免费麻豆|国产日韩欧美一区二区在线高清

十二年專注于品牌網(wǎng)站建設 十余年專注于網(wǎng)站建設_小程序開發(fā)_APP開發(fā),低調、敢創(chuàng)新、有情懷!
南昌百恒網(wǎng)絡微信公眾號 掃一掃關注
小程序
tel-icon全國服務熱線:400-680-9298,0791-88117053
掃一掃關注百恒網(wǎng)絡微信公眾號
掃一掃打開百恒網(wǎng)絡微信小程序

百恒網(wǎng)絡

南昌百恒網(wǎng)絡

文檔的子節(jié)點讀取方法document.firstChild

百恒網(wǎng)絡 2013-09-26 6816

JavaScript通過Document類型表示文檔。在瀏覽器中,docLunent對象是HTMLDocument(繼承自Document類型)的一個實例,表示整個HTML頁面。而且,document對象是window對象的一個屬性,因此可以將其作為全局對象來訪問。Document節(jié)點具有下列特征:

⊙nodeType的值為9;

⊙nodeName的值為"#document";

⊙nodeValue的值為null;

⊙parentNode的值為null;

⊙其子節(jié)點可能是一個DocumentType(最多一個)、Element(最多一個)、ProcessingInstruction或Comment,

Document類型可以表示HTML頁面或者其他基于XML的文檔。不過,最常見的應用還是作為HTMLDocument實例的document對象。通過這個文檔對象,不僅可以取得與頁面有關的信息,而且還能操作頁面的外觀及其底層結構。

南昌網(wǎng)站設計公司技術員提醒大家,除了IE之外,可以在任何瀏覽器中通過腳本訪問Document類型的構造函數(shù)和原型.但在所有瀏覽器中都可以訪問HTMLDocument類型的構造函數(shù)和原型,包括IE8及后續(xù)版本.

文檔的子節(jié)點

雖然DOM標準規(guī)定Document節(jié)點的子節(jié)點可以是DocumentType、Element、Processinglnstruction或conrrnent,但還有兩個內置的訪問其子節(jié)點的快捷方式。第一個就是documentElement屬性,該屬性始終指向HTML頁面中的元素。另一個就是通過childNodes列表訪問文檔元素,但通過documentElement屬性則能更快捷、更直接地訪問該元素。以下面這個簡單的頁面為例:

(/body>

這個頁面在經過瀏覽器解析后,其文檔中只包含一個子節(jié)點,即元素??梢酝ㄟ^documentElement或childNodes列表來訪問這個元素,如下所示:

var html=document.documentElement; //取得對的引用

alert (html===document. childNodes[O]); //true

alert (html===document. firstChild); //true這個例子說明,documentElement、firstChild和childNodes[o]的1直相同,都指向元素。

作為HTMLDocument的實例,document對象還有一個body屬性,直接指向元素。因為開發(fā)人員經常要使用這個元素,所以document.body在JavaScript代碼中出現(xiàn)的頻率非常高,其用法如下:

var body=docurnent.body; //取得對的引用

所有瀏覽器都支持document.documentElement和document.bodY屬性。

Document另一個可能的子節(jié)點是DocumentType。通常將標簽看成一個與文檔其他部分不同的實體,可以通過doctype屬性(在瀏覽器中是document.doc type)來訪問它的信息:

var doctype=document .doctype; //取得對的引用瀏覽器對docuInent.doc type的支持差別很大,可以給出如下總結①。

⊙IE:如果存在文檔類型聲明,會將其錯誤地解釋為一個注釋并把它當作Cornment節(jié)點;而

document.doctype的值始終為null。

⊙Firefox:如果存在文檔類型聲明,則將其作為文檔的第一個子節(jié)點;document.doctype是一個DocumentType節(jié)點,也可以通過document,firstChild或document.childNodes[0]訪 問同一個節(jié)點。

⊙Safari. Chrome和Opera:如果存在文檔類型聲明,則將其解析,但不作為文檔的子節(jié)點。document.doctype是一個DocumentType節(jié)點,但該節(jié)點不會出現(xiàn)在doclunent.childNodes中。

由于瀏覽器對document.doctype的支持不一致,因此這個屬性的用處很有限。從技術上說,出現(xiàn)在元素外部的注釋應該算是文檔的子節(jié)點。然而,不同的瀏覽器在是否解析這些注釋以及能否正確處理它們等方面,也存在很大差異。以下面簡單的HTML頁面為例:

看起來這個頁面應該有3個子節(jié)點:注釋、元素、注釋。從邏輯上講,我們會認為document.childNodes中應該包含與這3個節(jié)點對應的3項。但是,現(xiàn)實中的瀏覽器在處理位于外部的注釋方面存在如下差異。

⊙IE、Safari 3.1及更高版本、Opera和Chrome只為第一條注釋創(chuàng)建節(jié)點,不為第二條注釋創(chuàng)建節(jié)點。結果,第一條注釋就會成為document.childNodes中的第一個子節(jié)點。

⊙Firefox以及Safari 3.1之前的版本會完全忽略這兩條注釋。

同樣,瀏覽器間的這種不一致性也導致了位于元素外部的注釋沒有什么用處。

多數(shù)情況下,我們都用不著在document對象上調用appendChild()、removeChild()和replaceChild()方法,因為文檔類型(如果存在的話)是只讀的,而且它只能有一個元素子節(jié)點(該節(jié)點通常早就已經存在了)。

本文僅限內部技術人員學習交流,不得作于其他商業(yè)用途.原創(chuàng)文章出自:南昌網(wǎng)站建設公司-百恒網(wǎng)絡 http://m.iotmicrosoft.com 如轉載請注明出處!

400-680-9298,0791-88117053
掃一掃關注百恒網(wǎng)絡微信公眾號
掃一掃打開百恒網(wǎng)絡小程序

歡迎您的光顧,我們將竭誠為您服務×

售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售后服務 售后服務
 
售后服務 售后服務
 
備案專線 備案專線
 
×