js nextSibling屬性和previousSibling屬性概述及使用注意
更新時間:2013年02月16日 08:57:21 作者:
nextSibling屬性:該屬性表示當前節(jié)點的下一個節(jié)點;如果其后沒有與其同級的節(jié)點,則返回null;previousSibling屬性:該屬性與nextSibling屬性的作用正好相反,接下來將詳細介紹下,感興趣的你不妨了解下哦,或許對你有所幫助
1:nextSibling屬性
該屬性表示當前節(jié)點的下一個節(jié)點(其后的節(jié)點與當前節(jié)點同屬一個級別);如果其后沒有與其同級的節(jié)點,則返回null。
需要特別注意的是:該屬性在不同的瀏覽器中的執(zhí)行結果并不都相同,見下面例示:
先來看一個例子:
<body>
<div>
<input id="a4" type="button" onclick="alert(this.nextSibling);" value="d" />
<input id="a5" type="button" onclick="alert(this.nextSibling);" value="e" />
</div>
</bod
該對象的結構表面上看,div的nextSibling只有2項——兩個input節(jié)點。但實際上有5項——/n,input,/n,input,/n。這是因為input作為創(chuàng)建各種表單輸入控件的標簽,無論是生成button、checkbox、radio...等或其他表單控件,IE都會自動在后面創(chuàng)建一個1字節(jié)位的空白。
IE將跳過在節(jié)點之間產(chǎn)生的空格文檔節(jié)點(如:換行字符),而Mozilla不會這樣——FF會把諸如空格換行之類的排版元素視作節(jié)點讀取,因此,在ie中用nextSibling便可讀取到的下一個節(jié)點元素,在FF中就需要這樣寫:nextSibling.nextSibling了。
opera和safari對nextSibling的處理方式與FF一致
2:previousSibling屬性
該屬性與nextSibling屬性的作用正好相反。例如:someTagObject.nextSibling.previousSibling其實返回的是該標簽元素本身,但前提必須是:該標簽元素的后面必須有一個同級的元素,否則就返回null了。
3:通過nextSibling或者 previousSibling所獲得的HTML標簽元素對象的屬性問題
一般先通過nextSibling.nodeName來獲知其標簽名,或者通過nextSibling.nodeType來獲知其標簽類型,然后,如果該nextSibling.nodeName = #text,則通過nextSibling.nodeValue來獲知其文本值;否則,可以通過nextSibling.innerHTML等其他常用標簽元素屬性來獲取其屬性。
該屬性表示當前節(jié)點的下一個節(jié)點(其后的節(jié)點與當前節(jié)點同屬一個級別);如果其后沒有與其同級的節(jié)點,則返回null。
需要特別注意的是:該屬性在不同的瀏覽器中的執(zhí)行結果并不都相同,見下面例示:
先來看一個例子:
復制代碼 代碼如下:
<body>
<div>
<input id="a4" type="button" onclick="alert(this.nextSibling);" value="d" />
<input id="a5" type="button" onclick="alert(this.nextSibling);" value="e" />
</div>
</bod
該對象的結構表面上看,div的nextSibling只有2項——兩個input節(jié)點。但實際上有5項——/n,input,/n,input,/n。這是因為input作為創(chuàng)建各種表單輸入控件的標簽,無論是生成button、checkbox、radio...等或其他表單控件,IE都會自動在后面創(chuàng)建一個1字節(jié)位的空白。
IE將跳過在節(jié)點之間產(chǎn)生的空格文檔節(jié)點(如:換行字符),而Mozilla不會這樣——FF會把諸如空格換行之類的排版元素視作節(jié)點讀取,因此,在ie中用nextSibling便可讀取到的下一個節(jié)點元素,在FF中就需要這樣寫:nextSibling.nextSibling了。
opera和safari對nextSibling的處理方式與FF一致
2:previousSibling屬性
該屬性與nextSibling屬性的作用正好相反。例如:someTagObject.nextSibling.previousSibling其實返回的是該標簽元素本身,但前提必須是:該標簽元素的后面必須有一個同級的元素,否則就返回null了。
3:通過nextSibling或者 previousSibling所獲得的HTML標簽元素對象的屬性問題
一般先通過nextSibling.nodeName來獲知其標簽名,或者通過nextSibling.nodeType來獲知其標簽類型,然后,如果該nextSibling.nodeName = #text,則通過nextSibling.nodeValue來獲知其文本值;否則,可以通過nextSibling.innerHTML等其他常用標簽元素屬性來獲取其屬性。
相關文章
javascript實現(xiàn)Java中的Map對象功能的實例詳解
這篇文章主要介紹了javascript 自定義對象實現(xiàn)Java中的Map對象功能的相關資料,這里實現(xiàn)這樣的功能,幫助大家理解這部分內容,需要的朋友可以參考下2017-08-08
JavaScript中的setUTCDate()方法使用詳解
這篇文章主要介紹了JavaScript中的setUTCDate()方法使用詳解,是JS入門學習中的基礎知識,需要的朋友可以參考下2015-06-06
JavaScript Try...Catch 聲明的 使用方法
JavaScript Try...Catch 聲明的 使用方法...2007-04-04
JavaScript入門教程(8) Location地址對象
location 地址對象 它描述的是某一個窗口對象所打開的地址。要表示當前窗口的地址,只需要使用“l(fā)ocation”就行了2009-01-01
JavaScript函數(shù)學習總結以及相關的編程習慣指南
這篇文章主要介紹了JavaScript函數(shù)學習總結以及相關的編程習慣指南,整理包含到了匿名函數(shù)和三元運算符等非常cool的知識點,需要的朋友可以參考下2015-11-11
javascript instanceof 與typeof使用說明
instanceof和typeof都能用來判斷一個變量是否為空或是什么類型的變量。2010-01-01

