当前位置:主页 > 行业资讯 >

一文详解Javascript DOM树结构

时间: 2023-05-07 20:19:51 来源: 清一色财经

DOM(Document Object Model)即文档对象模型。通过DOM树这样一种结构,不仅可以直观的看到HTML的整体结构,还可以利用DOM树的一些属性获取到某个元素的子节点和节点名称等信息。

什么是DOM树?

DOM(Document Object Model)即文档对象模型。通过DOM树这样一种结构,不​仅可以直观的看到HTML的整体结构,还可以利用DOM树的一些属性获取到某个元素的子节点和节点名称等信息。

HTML文档结构:


(资料图片)

树形结构:

childNodes和nodeName属性

childNodes属性:获取当前节点的子节点。

第一个child节点

第二个child节点

第三个child节点
<script> let box = document.getElementById("box"); let boxChild = box.childNodes; console.log(boxChild);</script>

空格和换行也属于一个节点,用text表示。

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

获取1、3、5……奇数节点。

nodeName属性:返回节点名称。

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

appendChild方法

appendChild(node):在子节点最后一位插入新节点,node为新节点的名称。

let newnode = document.createElement("p");newnode.innerHTML = "新节点";box.appendChild(newnode);console.log(boxChild);

removeChild方法

removeChild(node):删除指定父级元素的某个子节点。

项目目标:点击删除按钮,依次删除列表中书籍。

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

parentNode属性

parentNode属性:返回指定节点的父节点。

第一个child节点

第二个child节点

第三个child节点
<script> let box_item1 = document.getElementById("box-item1"); console.log(box_item1.parentNode);</script>

项目目标:点击叉号删除内容。

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

replaceChild方法

replaceChild(newnode,oldnode)方法:用新节点替换之前的节点。

第一个child节点

第二个child节点

第三个child节点
<script> let box_item1 = document.getElementById("box-item1"); console.log(box_item1.parentNode); let h1 = document.createElement("h1"); h1.innerHTML = "新节点 第三个child节点"; let box_item3 = document.getElementById("box-item3"); let box = document.getElementById("box"); box.replaceChild(h1, box_item3);</script>

insertBefore方法

insertBefore可以在已有的子节点前插入一个新的子节点。项目目标:点击按钮,在ul标记子节点的第一位插入包含内容“我的世界”,文字颜色为红色的h4节点。

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属性:添加指定的属性,并为其赋指定的值。

项目目标:点击“变”按钮,将输入框变为按钮。

let btn = document.getElementById("btn");let input = document.getElementById("put");btn.onclick = function() {  input.setAttribute("type", "button");}

关键词:

相关文章

一文详解Javascript DOM树结构

DOM(DocumentObjectModel)即文档对象模型。通过DOM树这样一种结构,不仅可以直观的看到HTML的整体结构,

来源:清一色财经2023-05-07

世界热讯:全聚焦|长江主题国家级旅游线路发布

文化和旅游部近日推出10条长江主题国家级旅游线路,其中,长江文明溯源之旅、长江世界遗产之旅、长江红色基

来源:我苏网2023-05-07

星星之火照前程 青春逐梦向未来_观速讯

十四岁,是迈入青春的第一步,是从少年迈向青年的重要转折点。为进一步加强未成年人思想道德建设,持之

来源:中国县域经济报2023-05-07

中级经济师什么行业可以用

2023年中国中级经济师专业资格也是非常受到关注的一个话题。中级经济师资格证书可以说是经济学领域中的一张

来源:会计网2023-05-07

【新华解读】外汇储备重返3.2万亿美元 对外贸易韧性有望成为支撑

业内人士分析认为,外汇储备规模上升主要受汇率折算和资产价格变化影响,未来国际投资者和境外企业对中国市

来源:新华财经2023-05-07