干熟妇在线视频午夜剧场一级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é)點(diǎn)讀取方法document.firstChild

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

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

⊙nodeType的值為9;

⊙nodeName的值為"#document";

⊙nodeValue的值為null;

⊙parentNode的值為null;

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

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

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

文檔的子節(jié)點(diǎn)

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

(/body>

這個頁面在經(jīng)過瀏覽器解析后,其文檔中只包含一個子節(jié)點(diǎn),即元素。可以通過documentElement或childNodes列表來訪問這個元素,如下所示:

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

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

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

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

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

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

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

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

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

document.doctype的值始終為null。

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

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

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

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

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

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

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

多數(shù)情況下,我們都用不著在document對象上調(diào)用appendChild()、removeChild()和replaceChild()方法,因?yàn)槲臋n類型(如果存在的話)是只讀的,而且它只能有一個元素子節(jié)點(diǎn)(該節(jié)點(diǎn)通常早就已經(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ù)
 
備案專線 備案專線
 
×
建平县| 双江| 古蔺县| 渝北区| 赫章县| 贵州省| 康乐县| 白银市| 道真| 酒泉市| 遂昌县| 福州市| 巴林右旗| 尚义县| 新晃| 子长县| 深州市| 通山县| 广丰县| 临沭县| 双城市| 香格里拉县| 上饶市| 隆林| 五指山市| 青龙| 赫章县| 永善县| 石柱| 珠海市| 满城县| 民和| 宜阳县| 景宁| 平阳县| 大竹县| 巨鹿县| 新宾| 郑州市| 鸡东县| 岳阳市|