欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
HTMLDOM和XMLDOM
可以和之前的一篇博文結合起來(lái)看:HTML、Javascript和XML之間的關(guān)系
上面的這篇博文講了HTML、XML和Javascript之間的基本關(guān)系。而Javascript是利用DOM(包括HTMLDOM和XML DOM)來(lái)操作HTML和XML中的內容。本篇博文則對這兩種相似的DOM接口做一下分析。

**************************************************************************************************

先看看這篇文章:大話(huà)HTMLDOM和XML DOM的區別與聯(lián)系

簡(jiǎn)單地總結一下

聯(lián)系:
HTML與XML共用了Core API(即DOM)。
因此HTML DOM和XML DOM中所指的節點(diǎn)(node)、節點(diǎn)列表(nodeList)等所指的是同一對象。



區別:
只不過(guò)為了方便,HTMLDOM的特性和方法并不是標準的DOM實(shí)現,而是專(zhuān)門(mén)針對HTML的同時(shí)也讓一些DOM操作變得更加簡(jiǎn)便。

HTMLDOM基于元素的實(shí)現(Element-Based),而不是基于節點(diǎn)(Node-Based)的。
比如在XMLDOM中,元素節點(diǎn)的屬性是一個(gè)以當前元素節點(diǎn)為父節點(diǎn)的屬性節點(diǎn)(元素節點(diǎn)和屬性節點(diǎn)可以利用節點(diǎn)的nodeType屬性值區別,元素節點(diǎn)的nodeType值為1,屬性節點(diǎn)的nodeType值為2)。
而在HTML DOM中,元素節點(diǎn)的屬性則就是屬性,并不作為單獨的節點(diǎn)來(lái)看待。

例如:獲取某個(gè)元素節點(diǎn)的某個(gè)屬性(比如 id)值
XML DOM中: x= myelement.getAttribute(id)
HTML DOM中: x = myelement.id


上面說(shuō)的是最主要的區別,下面來(lái)看幾個(gè)比較特殊的區別:
1. DOM搜索節點(diǎn)的方法getElementsByTagName_r()、getElementByID()
前者即可以用于HTML DOM,也可以用于XML DOM;而后者只能用于HTML DOM。

:一個(gè)細節,getElementsByTagName_r()方法中element是復數,而getElementByID()方法中的element則是單數。這是因為nodeName相同的節點(diǎn)可以有多個(gè),而一個(gè)id(HTML中的節點(diǎn)屬性)只能對應一個(gè)元素節點(diǎn)。

2. 有兩種特殊的節點(diǎn)屬性來(lái)訪(fǎng)問(wèn)文檔的根節點(diǎn)
  • document.documentElement
  • document.body
前者即可以用于HTML DOM,也可以用于XML DOM;而后者只能用于HTML DOM。
后者是對HTML頁(yè)面的特殊擴展,提供了對<body>標簽的直接訪(fǎng)問(wèn)。



**************************************************************************************************
最后說(shuō)一下,討論這個(gè)問(wèn)題的本源。
改變HTML的內容
1. document.write()
括號中的參數是要寫(xiě)入的字符串。根據自己實(shí)驗的結果,我總結的經(jīng)驗是只能在<body>內部使用,且要將代碼包含在<scripttype="text/javascript">...</script>中。
寫(xiě)入的內容對HTML其余部分沒(méi)有影響,比如:
<head>
<body>
<h1>thisis a heading</h1>
<scripttype="text/javascript">
document.write("helloworld")
</script>
</body>
</head>

這時(shí)候<script>標簽內的操作相當于直接在頁(yè)面中js代碼的位置上增加了一句話(huà)。


2. innerHTML屬性。幾乎所有的HTMLDOM中的元素都有該屬性。它實(shí)際上是一個(gè)字符串,用來(lái)設置或獲取位于對象起始和結束標簽之間的HTML。
通常在<head>中的javascript代碼中,和getElementById()方法結合使用。先使用getElementById()方法獲得目標節點(diǎn),然后使用innerHTML屬性來(lái)獲取或設置節點(diǎn)起始和結束標簽之間的內容。

例如:
document.getElementByIdx_x_x('A1').innerHTML=xmlhttp.status;
其中,A1是HTML中一個(gè)標簽的id,該語(yǔ)句將該標簽的內容設置為讀取XML文件的狀態(tài)。




**************************************************************************************************
最后講一下DOM在不同瀏覽器中的差別。
所有現代瀏覽器都支持W3C DOM規范,但是它們之間是有差異的,主要表現在以下兩點(diǎn):
  • 加載XML的方式
  • 處理空白和換行的方法
第一點(diǎn)之前已經(jīng)講過(guò)了,下面來(lái)看第二點(diǎn)。

為了閱讀方便,XML文件經(jīng)常在節點(diǎn)之間含有換行或空格,下例:
<book>
 <title>HarryPotter</title>
 <author>J K.Rowling</author>
 <year>2005</year>
 <price>29.99</price>
</book>
每行之間都有換行,每個(gè)子節點(diǎn)之間都有兩個(gè)空格。

Firefox及其他瀏覽器會(huì )把空格和換行作為文本節點(diǎn)來(lái)處理,而IE則會(huì )忽略這些換行和空格。

比如,要是想得到第一個(gè)<book>元素的第一個(gè)子節點(diǎn)<title>的內容

在IE中:
txt =xmlDoc.documentElement.getElementsByTagName_r("book")[0].firstChild.firstChild.nodeValue;

在Firefox等其他瀏覽器中
x =xmlDoc.documentElement.getElementsByTagName_r("book")[0];
y =x.firstChild;
while(y.nodeType!=1) // 檢查節點(diǎn)類(lèi)型是否為1,即是否為元素節點(diǎn)
{
  y=y.nextSibling; //不是元素節點(diǎn),則往后移一個(gè)同級節點(diǎn)
}
txt =y.firstChild.nodeValue;



本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
一篇文章帶你了解JavaScript htmldom 導航
掌握 Ajax,第 6 部分: 建立基于 DOM 的 Web 應用程序
HTML DOM 屬性
通俗易懂的來(lái)講講DOM
[譯文]The seven rules of Unobtrusive JavaScript
站在巨人的肩膀上總結JavaScript之DOM基本操作
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久