干熟妇在线视频午夜剧场一级A级|99成人香视频日本两性激情视频|久久 午夜福利无码精品人妻一区|热久久超碰精品精品少妇一区二区|五月天综合在线国产一区免费视频|亚洲成人中心热re久久99|亚洲国产怡红院丁香五月综合h|玖玖九久久久午夜射精视频

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

百恒網(wǎng)絡(luò)

南昌百恒網(wǎng)絡(luò)

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

百恒網(wǎng)絡(luò) 2013-09-26 6748

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的文檔。不過,最常見的應(yīng)用還是作為HTMLDocument實例的document對象。通過這個文檔對象,不僅可以取得與頁面有關(guān)的信息,而且還能操作頁面的外觀及其底層結(jié)構(gòu)。

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

文檔的子節(jié)點

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

(/body>

這個頁面在經(jīng)過瀏覽器解析后,其文檔中只包含一個子節(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ā)人員經(jīng)常要使用這個元素,所以document.body在JavaScript代碼中出現(xiàn)的頻率非常高,其用法如下:

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

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

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

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

⊙IE:如果存在文檔類型聲明,會將其錯誤地解釋為一個注釋并把它當(dāng)作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的支持不一致,因此這個屬性的用處很有限。從技術(shù)上說,出現(xiàn)在元素外部的注釋應(yīng)該算是文檔的子節(jié)點。然而,不同的瀏覽器在是否解析這些注釋以及能否正確處理它們等方面,也存在很大差異。以下面簡單的HTML頁面為例:

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

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

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

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

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

本文僅限內(nèi)部技術(shù)人員學(xué)習(xí)交流,不得作于其他商業(yè)用途.原創(chuàng)文章出自:南昌網(wǎng)站建設(shè)公司-百恒網(wǎng)絡(luò) http://www.myforexfactory.net 如轉(zhuǎn)載請注明出處!

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

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

售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售后服務(wù) 售后服務(wù)
 
售后服務(wù) 售后服務(wù)
 
備案專線 備案專線
 
×