偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

一文詳解Javascript DOM樹(shù)結(jié)構(gòu)

開(kāi)發(fā) 前端
DOM(Document Object Model)即文檔對(duì)象模型。通過(guò)DOM樹(shù)這樣一種結(jié)構(gòu),不僅可以直觀的看到HTML的整體結(jié)構(gòu),還可以利用DOM樹(shù)的一些屬性獲取到某個(gè)元素的子節(jié)點(diǎn)和節(jié)點(diǎn)名稱等信息。

什么是DOM樹(shù)?

DOM(Document Object Model)即文檔對(duì)象模型。通過(guò)DOM樹(shù)這樣一種結(jié)構(gòu),不?僅可以直觀的看到HTML的整體結(jié)構(gòu),還可以利用DOM樹(shù)的一些屬性獲取到某個(gè)元素的子節(jié)點(diǎn)和節(jié)點(diǎn)名稱等信息。

HTML文檔結(jié)構(gòu):

樹(shù)形結(jié)構(gòu):

childNodes和nodeName屬性

childNodes屬性:獲取當(dāng)前節(jié)點(diǎn)的子節(jié)點(diǎn)。

<div id="box">
<p>第一個(gè)child節(jié)點(diǎn)</p>
<h4>第二個(gè)child節(jié)點(diǎn)</h4>
<div>第三個(gè)child節(jié)點(diǎn)</div>
</div>

<script>
let box = document.getElementById("box");
let boxChild = box.childNodes;
console.log(boxChild);
</script>

空格和換行也屬于一個(gè)節(jié)點(diǎn),用text表示。

for(let i = 1;  i < boxChild.length; i += 2)
console.log(boxChild[i]);

獲取1、3、5……奇數(shù)節(jié)點(diǎn)。

nodeName屬性:返回節(jié)點(diǎn)名稱。

for(let i = 1;  i < boxChild.length; i += 2)
console.log(boxChild[i].nodeName);

appendChild方法

appendChild(node):在子節(jié)點(diǎn)最后一位插入新節(jié)點(diǎn),node為新節(jié)點(diǎn)的名稱。

let newnode = document.createElement("p");
newnode.innerHTML = "新節(jié)點(diǎn)";
box.appendChild(newnode);

console.log(boxChild);

removeChild方法

removeChild(node):刪除指定父級(jí)元素的某個(gè)子節(jié)點(diǎn)。

項(xiàng)目目標(biāo):點(diǎn)擊刪除按鈕,依次刪除列表中書(shū)籍。

btn.onclick = function(){
list.removeChild(list.childNodes[1]);
}

parentNode屬性

parentNode屬性:返回指定節(jié)點(diǎn)的父節(jié)點(diǎn)。

<div id="box">
<p id="box-item1">第一個(gè)child節(jié)點(diǎn)</p>
<h4>第二個(gè)child節(jié)點(diǎn)</h4>
<div>第三個(gè)child節(jié)點(diǎn)</div>
</div>

<script>
let box_item1 = document.getElementById("box-item1");
console.log(box_item1.parentNode);
</script>

項(xiàng)目目標(biāo):點(diǎn)擊叉號(hào)刪除內(nèi)容。

x.onclick = function(){
document.body.removeChild(this.parentNode);
}

replaceChild方法

replaceChild(newnode,oldnode)方法:用新節(jié)點(diǎn)替換之前的節(jié)點(diǎn)。

<div id="box">
<p id="box-item1">第一個(gè)child節(jié)點(diǎn)</p>
<h4>第二個(gè)child節(jié)點(diǎn)</h4>
<div id="box-item3">第三個(gè)child節(jié)點(diǎn)</div>
</div>

<script>
let box_item1 = document.getElementById("box-item1");
console.log(box_item1.parentNode);

let h1 = document.createElement("h1");
h1.innerHTML = "新節(jié)點(diǎn) 第三個(gè)child節(jié)點(diǎn)";

let box_item3 = document.getElementById("box-item3");

let box = document.getElementById("box");

box.replaceChild(h1, box_item3);
</script>

insertBefore方法

insertBefore可以在已有的子節(jié)點(diǎn)前插入一個(gè)新的子節(jié)點(diǎn)。項(xiàng)目目標(biāo):點(diǎn)擊按鈕,在ul標(biāo)記子節(jié)點(diǎn)的第一位插入包含內(nèi)容“我的世界”,文字顏色為紅色的h4節(jié)點(diǎn)。

let btn = document.getElementById("button");
let game = document.getElementById("game");
btn.onclick = function() {
let newGame = document.createElement("h4");
newGame.innerHTML = "我的世界";
newGame.style.color = "red";
newGame.style.paddingLeft = "40px";
game.insertBefore(newGame, game.firstChild);
}

setAttribute屬性

setAttribute屬性:添加指定的屬性,并為其賦指定的值。

項(xiàng)目目標(biāo):點(diǎn)擊“變”按鈕,將輸入框變?yōu)榘粹o。

let btn = document.getElementById("btn");
let input = document.getElementById("put");
btn.onclick = function() {
input.setAttribute("type", "button");
}
責(zé)任編輯:華軒 來(lái)源: 今日頭條
相關(guān)推薦

2021-09-09 10:26:26

Javascript 文檔對(duì)象前端

2023-02-28 18:09:53

Javascript定時(shí)器

2023-02-22 18:06:35

函數(shù)javascript面向?qū)ο缶幊?/a>

2019-07-01 09:22:15

Linux操作系統(tǒng)硬件

2024-08-09 12:44:45

JavaScript原型鏈鏈條

2022-08-15 15:39:23

JavaScript面向?qū)ο?/a>數(shù)據(jù)

2021-02-11 09:01:32

CSS開(kāi)發(fā) SDK

2022-06-26 00:18:05

企業(yè)產(chǎn)品化變量

2020-10-09 07:56:52

Linux

2025-03-03 08:40:00

JavaScriptthis開(kāi)發(fā)

2021-05-11 11:05:43

SAL子查詢

2020-12-21 06:13:52

高可用Nacos服務(wù)端

2022-08-05 08:22:10

eBPFHTTP項(xiàng)目

2021-12-29 17:38:17

JavaScripttypeof前端

2021-09-02 10:24:54

JavaScript前端語(yǔ)言

2019-08-06 09:00:00

JavaScript函數(shù)式編程前端

2024-11-19 13:20:55

2021-09-07 09:46:40

JavaScriptGenerator函數(shù)

2021-10-11 10:19:48

Javascript 高階函數(shù)前端

2021-07-15 10:49:08

數(shù)據(jù)平臺(tái)企業(yè)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)