如何使用JS獲取當(dāng)前節(jié)點(diǎn)的兄弟/父/子節(jié)點(diǎn)
JS獲取當(dāng)前節(jié)點(diǎn)的方式:
通過(guò)事件監(jiān)聽(tīng)器獲取當(dāng)前節(jié)點(diǎn):
<button onclick="fun(this)"></button>
function fun(obj){
// obj就是當(dāng)前節(jié)點(diǎn)
//可以通過(guò).父節(jié)點(diǎn)/子節(jié)點(diǎn)的方式來(lái)獲取節(jié)點(diǎn)。
obj.nextSiling;
}1.getElementById()----通過(guò)ID獲取
2.getElementsByTagName()--通過(guò)標(biāo)簽名獲取
3.getElementsByClassName()--通過(guò)class(類(lèi)名)獲取
4.querySelector()----()號(hào)里可以根據(jù)css選擇器的形式獲取,獲取第一個(gè)
5.querySelectorAll()--同上,獲取所有""里的內(nèi)容,返回的是一個(gè)“偽數(shù)組”
6.getElementsByName()---通過(guò)name屬性來(lái)獲取表單元素,一般也只用于表單元素
示例:
<ul>
<li>li1</li>
<li id="li2">li2</li>
<li class="li3">li3</li>
<li id="li4">li4</li>
<li class="li5">li5</li>
</ul>
<input type="text" name="abc" value="你說(shuō)呢">
<script>
//通過(guò)id獲取
let li2=document.getElementById("li2");
// li2變成紅色
li2.style.color="red";
//通過(guò)class獲取,返回的是一個(gè)偽數(shù)組
let li3=document.getElementsByClassName("li3");
//li3變成綠色
li3[0].style.color="green";
//通過(guò)標(biāo)簽名獲取,獲取的也是一個(gè)偽數(shù)組
let li = document.getElementsByTagName("li");
//第一個(gè)li變成粉色
li[0].style.color="pink";
//通過(guò)querySelector獲取
let li4=document.querySelector("#li4");
li4.style.color="blue";
//通過(guò)querySelectorAll()獲取
let li5=document.querySelectorAll(".li5");
//class為li5的第一個(gè)顏色變?yōu)樽仙?
li5[0].style.color="purple";
//通過(guò)name屬性獲取表單元素
let abc=document.getElementsByName("abc");
//name為abc的第一個(gè)元素字體變?yōu)榧t色
abc[0].style.color="red";
</script>
獲取子節(jié)點(diǎn):
1.通過(guò)一個(gè)一個(gè).獲取節(jié)點(diǎn):
2.通過(guò)childNodes獲取子節(jié)點(diǎn):返回的也是子節(jié)點(diǎn)集合,是一個(gè)數(shù)組的格式。他會(huì)把換行和空格也當(dāng)成是節(jié)點(diǎn)信息。
3.通過(guò)children獲取,不過(guò)他也是數(shù)組,按照數(shù)組的形式訪(fǎng)問(wèn)就行
4.獲取第一個(gè)子節(jié)點(diǎn):firstChild,firstElementChild
5.獲取最后一個(gè)子節(jié)點(diǎn):lastChild,lastElementChild
//通過(guò)每一層.獲取節(jié)點(diǎn):
let b=document.getElementById("li01").querySelector("span");
alert(b.innerHTML);
//通過(guò)childNodes獲取子節(jié)點(diǎn):返回的也是子節(jié)點(diǎn)集合,是一個(gè)數(shù)組的格式。他會(huì)把換行和空格也當(dāng)成是節(jié)點(diǎn)信息。
let c=document.getElementById("li02").childNodes;
alert(c[0].innerHTML);
//通過(guò)children獲取,不過(guò)他也是數(shù)組,按照數(shù)組的形式訪(fǎng)問(wèn)就行
let d=document.getElementById("li03").children[0];
alert(d.innerHTML);
//獲取第一個(gè)子節(jié)點(diǎn):firstChild
let e=document.getElementById("li04").firstChild;//會(huì)匹配換行和空格
let f=document.getElementById("li04").firstElementChild;
//獲取最后一個(gè)子節(jié)點(diǎn):
let g=document.getElementById("li05").lastChild;//會(huì)匹配換行和空格
let h=document.getElementById("li05").lastElementChild;獲取父節(jié)點(diǎn):
1.獲取單個(gè)父節(jié)點(diǎn):parentNode,parentElement
let i=document.getElementById("li05").parentNode;
let j=document.getElementById("li05").parentElement;2.獲取所有父節(jié)點(diǎn):offsetParent。返回的是個(gè)偽數(shù)組
let k=document.getElementById("li05").offsetParent;獲取兄弟節(jié)點(diǎn)
1.通過(guò)獲取父節(jié)點(diǎn)再獲取子節(jié)點(diǎn)來(lái)獲取兄弟節(jié)點(diǎn):
var brother1 = document.getElementById("li05").parentNode.children[1];
2.獲取上一個(gè)節(jié)點(diǎn)
var brother2=document.getElementById("li05").previousElementSibling;
var brother2=document.getElementById("li05").previousSibling;3.獲取下一個(gè)節(jié)點(diǎn)
var brother4 = document.getElementById("test").nextElementSibling;
var brother5 = document.getElementById("test").nextSibling;總結(jié)
到此這篇關(guān)于如何使用JS獲取當(dāng)前節(jié)點(diǎn)的兄弟/父/子節(jié)點(diǎn)的文章就介紹到這了,更多相關(guān)JS獲取當(dāng)前節(jié)點(diǎn)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
layui表單驗(yàn)證select下拉框?qū)崿F(xiàn)驗(yàn)證的方法
今天小編就為大家分享一篇layui表單驗(yàn)證select下拉框?qū)崿F(xiàn)驗(yàn)證的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-09-09
表單元素值獲取方式j(luò)s及java方式的簡(jiǎn)單實(shí)例
下面小編就為大家?guī)?lái)一篇表單元素值獲取方式j(luò)s及java方式的簡(jiǎn)單實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-10-10
JavaScript數(shù)組實(shí)現(xiàn)扁平化四種方法詳解
扁平化,顧名思義就是減少?gòu)?fù)雜性裝飾,使其事物本身更簡(jiǎn)潔、簡(jiǎn)單,突出主題。數(shù)組扁平化,對(duì)著上面意思套也知道了,就是將一個(gè)復(fù)雜的嵌套多層的數(shù)組,一層一層的轉(zhuǎn)化為層級(jí)較少或者只有一層的數(shù)組2022-10-10
Javascript模擬scroll滾動(dòng)效果腳本
項(xiàng)目需要寫(xiě)了一段模擬Scroll滾動(dòng)代碼,分享的同時(shí),我有些疑問(wèn),希望大家能幫忙解決,代碼如下2008-09-09
Echarts?3D散點(diǎn)圖實(shí)戰(zhàn)案例
這篇文章主要給大家介紹了關(guān)于Echarts?3D散點(diǎn)圖的相關(guān)資料, Echarts散點(diǎn)圖是一種常用的數(shù)據(jù)可視化圖表類(lèi)型,用于展示兩個(gè)或多個(gè)維度的數(shù)據(jù)分布情況,需要的朋友可以參考下2023-11-11
微信小程序navigator跳轉(zhuǎn)及參數(shù)傳遞的方法
這篇文章主要介紹了微信小程序navigator跳轉(zhuǎn)及參數(shù)傳遞,在navigator中添加需要跳轉(zhuǎn)的路徑,如果需要帶參,則在路徑后面添加所要傳遞的參數(shù)以及值,需要的朋友可以參考下2023-11-11
微信小程序中如何計(jì)算距離某個(gè)節(jié)日還有多少天
這篇文章主要給大家介紹了關(guān)于微信小程序中如何計(jì)算距離某個(gè)節(jié)日還有多少天的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用微信小程序具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07

