如何使用JS獲取當(dāng)前節(jié)點的兄弟/父/子節(jié)點
JS獲取當(dāng)前節(jié)點的方式:
通過事件監(jiān)聽器獲取當(dāng)前節(jié)點:
<button onclick="fun(this)"></button>
function fun(obj){
// obj就是當(dāng)前節(jié)點
//可以通過.父節(jié)點/子節(jié)點的方式來獲取節(jié)點。
obj.nextSiling;
}1.getElementById()----通過ID獲取
2.getElementsByTagName()--通過標(biāo)簽名獲取
3.getElementsByClassName()--通過class(類名)獲取
4.querySelector()----()號里可以根據(jù)css選擇器的形式獲取,獲取第一個
5.querySelectorAll()--同上,獲取所有""里的內(nèi)容,返回的是一個“偽數(shù)組”
6.getElementsByName()---通過name屬性來獲取表單元素,一般也只用于表單元素
示例:
<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="你說呢">
<script>
//通過id獲取
let li2=document.getElementById("li2");
// li2變成紅色
li2.style.color="red";
//通過class獲取,返回的是一個偽數(shù)組
let li3=document.getElementsByClassName("li3");
//li3變成綠色
li3[0].style.color="green";
//通過標(biāo)簽名獲取,獲取的也是一個偽數(shù)組
let li = document.getElementsByTagName("li");
//第一個li變成粉色
li[0].style.color="pink";
//通過querySelector獲取
let li4=document.querySelector("#li4");
li4.style.color="blue";
//通過querySelectorAll()獲取
let li5=document.querySelectorAll(".li5");
//class為li5的第一個顏色變?yōu)樽仙?
li5[0].style.color="purple";
//通過name屬性獲取表單元素
let abc=document.getElementsByName("abc");
//name為abc的第一個元素字體變?yōu)榧t色
abc[0].style.color="red";
</script>
獲取子節(jié)點:
1.通過一個一個.獲取節(jié)點:
2.通過childNodes獲取子節(jié)點:返回的也是子節(jié)點集合,是一個數(shù)組的格式。他會把換行和空格也當(dāng)成是節(jié)點信息。
3.通過children獲取,不過他也是數(shù)組,按照數(shù)組的形式訪問就行
4.獲取第一個子節(jié)點:firstChild,firstElementChild
5.獲取最后一個子節(jié)點:lastChild,lastElementChild
//通過每一層.獲取節(jié)點:
let b=document.getElementById("li01").querySelector("span");
alert(b.innerHTML);
//通過childNodes獲取子節(jié)點:返回的也是子節(jié)點集合,是一個數(shù)組的格式。他會把換行和空格也當(dāng)成是節(jié)點信息。
let c=document.getElementById("li02").childNodes;
alert(c[0].innerHTML);
//通過children獲取,不過他也是數(shù)組,按照數(shù)組的形式訪問就行
let d=document.getElementById("li03").children[0];
alert(d.innerHTML);
//獲取第一個子節(jié)點:firstChild
let e=document.getElementById("li04").firstChild;//會匹配換行和空格
let f=document.getElementById("li04").firstElementChild;
//獲取最后一個子節(jié)點:
let g=document.getElementById("li05").lastChild;//會匹配換行和空格
let h=document.getElementById("li05").lastElementChild;獲取父節(jié)點:
1.獲取單個父節(jié)點:parentNode,parentElement
let i=document.getElementById("li05").parentNode;
let j=document.getElementById("li05").parentElement;2.獲取所有父節(jié)點:offsetParent。返回的是個偽數(shù)組
let k=document.getElementById("li05").offsetParent;獲取兄弟節(jié)點
1.通過獲取父節(jié)點再獲取子節(jié)點來獲取兄弟節(jié)點:
var brother1 = document.getElementById("li05").parentNode.children[1];
2.獲取上一個節(jié)點
var brother2=document.getElementById("li05").previousElementSibling;
var brother2=document.getElementById("li05").previousSibling;3.獲取下一個節(jié)點
var brother4 = document.getElementById("test").nextElementSibling;
var brother5 = document.getElementById("test").nextSibling;總結(jié)
到此這篇關(guān)于如何使用JS獲取當(dāng)前節(jié)點的兄弟/父/子節(jié)點的文章就介紹到這了,更多相關(guān)JS獲取當(dāng)前節(jié)點內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
layui表單驗證select下拉框?qū)崿F(xiàn)驗證的方法
今天小編就為大家分享一篇layui表單驗證select下拉框?qū)崿F(xiàn)驗證的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09
JavaScript數(shù)組實現(xiàn)扁平化四種方法詳解
扁平化,顧名思義就是減少復(fù)雜性裝飾,使其事物本身更簡潔、簡單,突出主題。數(shù)組扁平化,對著上面意思套也知道了,就是將一個復(fù)雜的嵌套多層的數(shù)組,一層一層的轉(zhuǎn)化為層級較少或者只有一層的數(shù)組2022-10-10
微信小程序navigator跳轉(zhuǎn)及參數(shù)傳遞的方法
這篇文章主要介紹了微信小程序navigator跳轉(zhuǎn)及參數(shù)傳遞,在navigator中添加需要跳轉(zhuǎn)的路徑,如果需要帶參,則在路徑后面添加所要傳遞的參數(shù)以及值,需要的朋友可以參考下2023-11-11

