亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

JS獲取子節(jié)點、父節(jié)點和兄弟節(jié)點的方法實例總結(jié)

 更新時間:2018年07月06日 10:43:44   作者:-老K-  
這篇文章主要介紹了JS獲取子節(jié)點、父節(jié)點和兄弟節(jié)點的方法,結(jié)合實例形式總結(jié)分析了JavaScript針對子節(jié)點、父節(jié)點和兄弟節(jié)點獲取相關(guān)操作技巧與使用注意事項,需要的朋友可以參考下

本文實例講述了JS獲取子節(jié)點、父節(jié)點和兄弟節(jié)點的方法。分享給大家供大家參考,具體如下:

一、js獲取子節(jié)點的方式

1. 通過獲取dom方式直接獲取子節(jié)點

其中test的父標(biāo)簽id的值,div為標(biāo)簽的名字。getElementsByTagName是一個方法。返回的是一個數(shù)組。在訪問的時候要按數(shù)組的形式訪問。

var a = document.getElementById("test").getElementsByTagName("div");

2. 通過childNodes獲取子節(jié)點

使用childNodes獲取子節(jié)點的時候,childNodes返回的是子節(jié)點的集合,是一個數(shù)組的格式。他會把換行和空格也當(dāng)成是節(jié)點信息。

var b =document.getElementById("test").childNodes;

為了不顯示不必須的換行的空格,我們?nèi)绻褂胏hildNodes就必須進(jìn)行必要的過濾。通過正則表達(dá)式式取掉不必要的信息。下面是過濾掉

//去掉換行的空格
for(var i=0; i<b.length;i++){
  if(b[i].nodeName == "#text" && !/\s/.test(b.nodeValue)){
    document.getElementById("test").removeChild(b[i]);
  }
}
//打印測試
for(var i=0;i<b.length;i++){
  console.log(i+"---------")
  console.log(b[i]);
}
//補充 document.getElementById("test").childElementCount; 可以直接獲取長度 同length

4. 通過children來獲取子節(jié)點

利用children來獲取子元素是最方便的,他也會返回出一個數(shù)組。對其獲取子元素的訪問只需按數(shù)組的訪問形式即可。

var getFirstChild = document.getElementById("test").children[0];

5. 獲取第一個子節(jié)點

firstChild來獲取第一個子元素,但是在有些情況下我們打印的時候會顯示undefined,這是什么情況呢??其實firstChild和childNodes是一樣的,在瀏覽器解析的時候會把他當(dāng)換行和空格一起解析,其實你獲取的是第一個子節(jié)點,只是這個子節(jié)點是一個換行或者是一個空格而已。那么不要忘記和childNodes一樣處理呀。

var getFirstChild = document.getElementById("test").firstChild;

6. firstElementChild獲取第一個子節(jié)點

使用firstElementChild來獲取第一個子元素的時候,這就沒有firstChild的那種情況了。會獲取到父元素第一個子元素的節(jié)點 這樣就能直接顯示出來文本信息了。他并不會匹配換行和空格信息。

var getFirstChild = document.getElementById("test").firstElementChild;

7. 獲取最后一個子節(jié)點

lastChild獲取最后一個子節(jié)點的方式其實和firstChild是類似的。同樣的lastElementChild和firstElementChild也是一樣的。不再贅余。

var getLastChildA = document.getElementById("test").lastChild;
var getLastChildB = document.getElementById("test").lastElementChild;

二、js獲取父節(jié)點的方式

1. parentNode獲取父節(jié)點

獲取的是當(dāng)前元素的直接父元素。parentNode是w3c的標(biāo)準(zhǔn)。

var p = document.getElementById("test").parentNode;

2. parentElement獲取父節(jié)點

parentElement和parentNode一樣,只是parentElement是ie的標(biāo)準(zhǔn)。

var p1 = document.getElementById("test").parentElement;

3. offsetParent獲取所有父節(jié)點

一看offset我們就知道是偏移量 其實這個是于位置有關(guān)的上下級 ,直接能夠獲取到所有父親節(jié)點, 這個對應(yīng)的值是body下的所有節(jié)點信息。

var p2 = document.getElementById("test").offsetParent;

三、js獲取兄弟節(jié)點的方式

1. 通過獲取父親節(jié)點再獲取子節(jié)點來獲取兄弟節(jié)點

var brother1 = document.getElementById("test").parentNode.children[1];

2. 獲取上一個兄弟節(jié)點

在獲取前一個兄弟節(jié)點的時候可以使用previousSibling和previousElementSibling。他們的區(qū)別是previousSibling會匹配字符,包括換行和空格,而不是節(jié)點。previousElementSibling則直接匹配節(jié)點。

var brother2 = document.getElementById("test").previousElementSibling;
var brother3 = document.getElementById("test").previousSibling;

3. 獲取下一個兄弟節(jié)點

同previousSibling和previousElementSibling,nextSibling和nextElementSibling也是類似的。

var brother4 = document.getElementById("test").nextElementSibling;
var brother5 = document.getElementById("test").nextSibling;

更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript操作DOM技巧總結(jié)》、《JavaScript頁面元素操作技巧總結(jié)》、《JavaScript錯誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運算用法總結(jié)

希望本文所述對大家JavaScript程序設(shè)計有所幫助。

相關(guān)文章

  • 可編輯下拉框的2種實現(xiàn)方式

    可編輯下拉框的2種實現(xiàn)方式

    下拉框想必大家都有見過,可編輯的下拉框就不多見了吧,本例為大家介紹個不錯的實現(xiàn)方法,需要的朋友可以參考下
    2014-06-06
  • js 禁用只讀文本框獲得焦點時的退格鍵

    js 禁用只讀文本框獲得焦點時的退格鍵

    發(fā)現(xiàn)只讀文本框有一個缺陷,當(dāng)鼠標(biāo)焦點在文本框里面的時候按回退鍵(backSpace), 會退回到前一個頁面
    2010-04-04
  • Webwork 實現(xiàn)文件上傳下載代碼詳解

    Webwork 實現(xiàn)文件上傳下載代碼詳解

    WebWork 當(dāng)然也提供了很友好的攔截器來實現(xiàn)對文件的上傳,讓我們可以專注與業(yè)務(wù)邏輯的設(shè)計和實現(xiàn),在實現(xiàn)上傳和下載時順便關(guān)注了下框架上傳下載的實現(xiàn)
    2016-02-02
  • JavaScript中繼承用法實例分析

    JavaScript中繼承用法實例分析

    這篇文章主要介紹了JavaScript中繼承用法,以實例形式較為詳細(xì)的分析了javascript實現(xiàn)繼承的相關(guān)技巧,需要的朋友可以參考下
    2015-05-05
  • window.returnValue使用方法示例介紹

    window.returnValue使用方法示例介紹

    returnValue是javascript中html的window對象的屬性,目的是返回窗口值,下面有個示例,大家可以感受下
    2014-07-07
  • 原生js FileReader對象實現(xiàn)圖片上傳本地預(yù)覽效果

    原生js FileReader對象實現(xiàn)圖片上傳本地預(yù)覽效果

    這篇文章主要介紹了原生js FileReader對象實現(xiàn)圖片上傳本地預(yù)覽效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • 基于JS實現(xiàn)html中placeholder屬性提示文字效果示例

    基于JS實現(xiàn)html中placeholder屬性提示文字效果示例

    這篇文章主要介紹了基于JS實現(xiàn)html中placeholder屬性提示文字效果,涉及javascript事件響應(yīng)及頁面元素屬性動態(tài)操作相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2018-04-04
  • 小程序?qū)崿F(xiàn)圖片裁剪上傳

    小程序?qū)崿F(xiàn)圖片裁剪上傳

    這篇文章主要為大家詳細(xì)介紹了小程序?qū)崿F(xiàn)圖片裁剪上傳,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • js實現(xiàn)橫向伸展開的二級導(dǎo)航菜單代碼

    js實現(xiàn)橫向伸展開的二級導(dǎo)航菜單代碼

    這篇文章主要介紹了js實現(xiàn)橫向伸展開的二級導(dǎo)航菜單代碼,涉及javascript鼠標(biāo)事件及頁面元素遍歷的相關(guān)技巧,需要的朋友可以參考下
    2015-08-08
  • JavaScript實現(xiàn)動態(tài)表格的示例代碼

    JavaScript實現(xiàn)動態(tài)表格的示例代碼

    動態(tài)表格是指在網(wǎng)頁上顯示的數(shù)據(jù)表格,可以根據(jù)用戶輸入或頁面元素的變化動態(tài)更新內(nèi)容,本文主要介紹了JavaScript實現(xiàn)動態(tài)表格的示例代碼,感興趣的可以了解一下
    2024-04-04

最新評論