DOM 腳本編程中的兄弟節(jié)點
更新時間:2009年10月31日 23:18:15 作者:
兄弟節(jié)點之間可以通過 previousSibling 和 nextSibling 屬性訪問同一級別上的不同子節(jié)點。這個兄弟節(jié)點是元素還是文本節(jié)點在現(xiàn)代瀏覽器上運(yùn)行是怎么樣的呢?
除IE外的瀏覽器是將換行符作為內(nèi)容的文本節(jié)點(nodeType為3)。而元素的話,nodeType為1。下面是查找它們的實用方法:
lastSibling:function(node){
var tempObj = node.parentNode.lastChild;
while(tempObj.nodeType!=1 && tempObj.previousSibling!=null)
{
tempObj=tempObj.previousSibling;
}
return (tempObj.nodeType==1)?tempObj:false;
}
這是《深入淺出JavaScript》書中DOMhelp庫中l(wèi)astSibling方法的源碼。與 mootools 庫中實現(xiàn)源碼差不多:
'last-child': function(){
var element = this;
while ((element = element.nextSibling)){
if (element.nodeType == 1) return false;
}
return true;
}
這是在 Mootools 1.2.4 源碼中的 last-child() 方法。
復(fù)制代碼 代碼如下:
lastSibling:function(node){
var tempObj = node.parentNode.lastChild;
while(tempObj.nodeType!=1 && tempObj.previousSibling!=null)
{
tempObj=tempObj.previousSibling;
}
return (tempObj.nodeType==1)?tempObj:false;
}
這是《深入淺出JavaScript》書中DOMhelp庫中l(wèi)astSibling方法的源碼。與 mootools 庫中實現(xiàn)源碼差不多:
復(fù)制代碼 代碼如下:
'last-child': function(){
var element = this;
while ((element = element.nextSibling)){
if (element.nodeType == 1) return false;
}
return true;
}
這是在 Mootools 1.2.4 源碼中的 last-child() 方法。
相關(guān)文章
JavaScript遍歷數(shù)組和對象的元素簡單操作示例
這篇文章主要介紹了JavaScript遍歷數(shù)組和對象的元素簡單操作,結(jié)合實例形式分析了javascript數(shù)組與對象元素遍歷相關(guān)操作技巧與注意事項,需要的朋友可以參考下2019-07-07
Electron實現(xiàn)多標(biāo)簽頁模式詳解
Electron 都發(fā)展這么多年了,讓人想不到的是,要實現(xiàn)一個多標(biāo)簽頁的功能居然沒有能用的輪子,本文就來用比較low的方案 - iframe手搓一個吧2024-11-11
javascript DOM設(shè)置樣式詳細(xì)說明和示例代碼
JavaScript也可以用來修改DOM元素的樣式,我們可以使用style屬性來訪問和修改元素的樣式屬性,這篇文章主要給大家介紹了關(guān)于javascript DOM設(shè)置樣式詳細(xì)說明和示例代碼的相關(guān)資料,需要的朋友可以參考下2024-06-06

