最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JS遍歷DOM文檔樹的方法實例詳解

 更新時間:2018年04月03日 14:25:35   作者:chengqiuming  
這篇文章主要介紹了JS遍歷DOM文檔樹的方法,結(jié)合實例形式分析了javascript遍歷dom文檔樹的相關(guān)方法與使用技巧,需要的朋友可以參考下

本文實例講述了JS遍歷DOM文檔樹的方法。分享給大家供大家參考,具體如下:

一 介紹

遍歷文檔樹通過使用parentNode屬性、firstChild屬性、lastChild屬性、previousSibling屬性和nextSibling屬性來實現(xiàn)。

1、parentNode屬性

該屬性返回當(dāng)前節(jié)點的父節(jié)點。

[pNode=]obj.parentNode

pNode:該參數(shù)用來存儲父節(jié)點,如果不存在父節(jié)點將返回“null”。

2、firstChild屬性

該屬性返回當(dāng)前節(jié)點的第一個子節(jié)點。

[cNode=]obj.firstChild

cNode:該參數(shù)用來存儲第一個子節(jié)點,如果不存在將返回“null”。

3、lastChild屬性

該屬性返回當(dāng)前節(jié)點的最后一個子節(jié)點。

[cNode=]obj.lastChild

cNode:該參數(shù)用來存儲最后一個子節(jié)點,如果不存在將返回“null”。

4、previousSibling屬性

該屬性返回當(dāng)前節(jié)點的前一個兄弟節(jié)點。

[sNode=]obj.previousSibling

sNode:該參數(shù)用來存儲前一個兄弟節(jié)點,如果不存在將返回“null”。

5、nextSibling屬性

該屬性返回當(dāng)前節(jié)點的后一個兄弟節(jié)點。

[sNode=]obj.nextSibling

sNode:該參數(shù)用來存儲后一個兄弟節(jié)點,如果不存在將返回“null”。

二 應(yīng)用

遍歷文檔樹,在頁面中,通過相應(yīng)的按鈕可以查找到文檔的各個節(jié)點的名稱、類型和節(jié)點值。

三 代碼

<head>
<title>遍歷文檔樹</title>
</head>
<body >
<h3 id="h1">三號標(biāo)題</h3>
<b>加粗內(nèi)容</b>
<form name="frm" action="#" method="get">
節(jié)點名稱:<input type="text" id="na"/><br />
節(jié)點類型:<input type="text" id="ty"/><br />
節(jié)點的值:<input type="text" id="va"/><br />
<input type="button" value="父節(jié)點" onclick="txt=nodeS(txt,'parent');"/>
<input type="button" value="第一個子節(jié)點" onclick="txt=nodeS(txt,'firstChild');"/>
<input type="button" value="最后一個子節(jié)點" onclick="txt=nodeS(txt,'lastChild');"/><br>
<input name="button" type="button" onclick="txt=nodeS(txt,'previousSibling');" value="前一個兄弟節(jié)點"/>
<input type="button" value="最后一個兄弟節(jié)點" onclick="txt=nodeS(txt,'nextSibling');"/>
<input type="button" value="返回根節(jié)點" onclick="txt=document.documentElement;txtUpdate(txt);"/>
</form>
<script language="javascript">
<!--
function txtUpdate(txt)
{
 window.document.frm.na.value=txt.nodeName;
 window.document.frm.ty.value=txt.nodeType;
 window.document.frm.va.value=txt.nodeValue;
}
function nodeS(txt,nodeName)
{
switch(nodeName)
{
case"previousSibling":
if(txt.previousSibling)
{
 txt=txt.previousSibling;
}
else
 alert("無兄弟節(jié)點");
break;
case"nextSibling":
if(txt.nextSibling)
{
 txt=txt.nextSibling;
}
else
 alert("無兄弟節(jié)點");
break;
case"parent":
if(txt.parentNode)
{
 txt=txt.parentNode;
}
else
 alert("無父節(jié)點");
break;
case"firstChild":
if(txt.hasChildNodes())
{
 txt=txt.firstChild;
}
else
 alert("無子節(jié)點");
break;
case"lastChild":
if(txt.hasChildNodes())
{
 txt=txt.lastChild;
}
else
 alert("無子節(jié)點")
break;
}
 txtUpdate(txt);
return txt;
}
var txt=document.documentElement;
 txtUpdate(txt);
-->
</script>
</body>

四 運行結(jié)果

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

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

相關(guān)文章

  • 淺談javascript語法和定時函數(shù)

    淺談javascript語法和定時函數(shù)

    初學(xué)者可能對Javascript的定時器有誤解,認為它們是線程,其實Javascript是運行于單線程中的,而定時器僅僅是計劃在未來的某個時間執(zhí)行,而具體的執(zhí)行時間是不能保證的,因為在頁面的生命周期中,不同的時間可能有其它代碼在控制Javascript的里進程。
    2015-05-05
  • 微信小程序?qū)崿F(xiàn)頂部導(dǎo)航特效

    微信小程序?qū)崿F(xiàn)頂部導(dǎo)航特效

    這篇文章主要為大家詳細介紹了微信小程序?qū)崿F(xiàn)頂部導(dǎo)航特效,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • js分解url參數(shù)(面向?qū)ο?極簡主義法應(yīng)用)

    js分解url參數(shù)(面向?qū)ο?極簡主義法應(yīng)用)

    剛看到笑看風(fēng)云寫的JavaScript面向?qū)ο?極簡主義法)和一個分解url參數(shù)面試題,我作了一下修改,記錄下來
    2012-08-08
  • js return返回多個值,通過對象的屬性訪問方法

    js return返回多個值,通過對象的屬性訪問方法

    下面小編就為大家?guī)硪黄猨s return返回多個值,通過對象的屬性訪問方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • 在localStorage中存儲對象數(shù)組并讀取的方法

    在localStorage中存儲對象數(shù)組并讀取的方法

    頻繁ajax請求導(dǎo)致頁面響應(yīng)變慢,所以考慮將數(shù)據(jù)存儲在window.storage中,這樣只需請求一次ajax,接下來通過本文給大家介紹了在localStorage中存儲對象數(shù)組并讀取的方法,需要的朋友可以參考下
    2016-09-09
  • 詳解javascript腳本何時會被執(zhí)行

    詳解javascript腳本何時會被執(zhí)行

    這篇文章主要介紹了詳解javascript腳本何時會被執(zhí)行,幫助大家更好的理解和使用JavaScript,感興趣的朋友可以了解下
    2021-02-02
  • javascript 閉包疑問

    javascript 閉包疑問

    今天在編碼時,遇到一個問題,特記錄下。希望對朋友有所幫助。
    2010-12-12
  • 微信小程序-圖片、錄音、音頻播放、音樂播放、視頻、文件代碼實例

    微信小程序-圖片、錄音、音頻播放、音樂播放、視頻、文件代碼實例

    本篇文章主要介紹了微信小程序-圖片、錄音、音頻播放、音樂播放、視屏、文件代碼實例,有興趣的可以了解一下。
    2016-11-11
  • 詳解Webpack4多頁應(yīng)用打包方案

    詳解Webpack4多頁應(yīng)用打包方案

    這篇文章主要介紹了詳解Webpack4多頁應(yīng)用打包方案,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • javascript實現(xiàn)自動輸出文本(打字特效)

    javascript實現(xiàn)自動輸出文本(打字特效)

    文字如何實現(xiàn)打字的效果呢?在瀏覽網(wǎng)頁的時候也經(jīng)常能看到這種效果。本文給大家匯總介紹了幾種打字效果的文字特效,文字一個一個地打印在頁面上。
    2015-08-08

最新評論

当雄县| 剑阁县| 北宁市| 方山县| 景洪市| 大厂| 江永县| 灵璧县| 江阴市| 左权县| 许昌市| 洛隆县| 英德市| 丹凤县| 平顶山市| 双柏县| 昆明市| 民权县| 米泉市| 宝山区| 外汇| 太保市| 锦州市| 文水县| 云安县| 崇礼县| 沙田区| 遵义县| 大田县| 中山市| 特克斯县| 广汉市| 抚州市| 江孜县| 英吉沙县| 德格县| 南汇区| 武义县| 洪湖市| 元朗区| 云浮市|