DOM_Element对象以及Node对象
DOM_Element对象
Element:元素对象
获取/创建:通过document来获取和创建
方法:
removeAttribute():删除属性
setAttribute():添加新属性
<body> <a>点我试一试</a> <input id="btn_set" type="button" value="设置属性"> <input id="btn_remove" type="button" value="删除属性"> <script> //设置a标签超链接跳转 let btn_set = document.getElementById("btn_set"); btn_set.onclick = function (){ //1.获取a标签 let element_a = document.getElementsByTagName("a")[0]; //设置属性 element_a.setAttribute("href","https://www.baidu.com"); } //设置a标签删除超链接 let btn_remove = document.getElementById("btn_remove"); btn_remove.onclick = function (){ //1.获取a标签 let element_e = document.getElementsByTagName("a")[0]; //设置属性 element_e.removeAttribute("href"); } </script> </body>
DOM_Node对象
Node:节点对象,其他5个的父对象
特点:所有dom对象都可以被认为是一个节点
方法:
CRUD dom树:
appendChild():向节点的子节点列表的结尾添加新的子节点
removeChild():删除(并返回)当前节点的指定子节点
replaceChild():用新节点替换一个子节点
属性:
parenNode:返回节点的父节点
<head> <meta charset="UTF-8"> <title>Node对象</title> <style> div{/*全局div*/ border: 1px solid red; } #div1{/*id:div1*/ width: 200px; height: 200px; } #div2{ width: 100px; height: 100px; } #div3{ border: 1px solid red; width: 100px; height: 100px; } </style> </head> <body> <div id="div1"> <div id="div2"> div2 </div> div1 </div> <a href="javascript:void(0);" id="del">删除子节点</a> <a href="javascript:void(0);" id="add">添加子节点</a> <script> //获取超链接 var element_a = document.getElementById("del"); //绑定单击事件 element_a.onclick = function (){ //获取指定id属性 var div1 = document.getElementById("div1"); var div2 = document.getElementById("div2"); div1.removeChild(div2);// 用新节点替换一个子节点 } /* 超链接功能: 1.可以被点击:样式 2.点击后跳转到href指定的url 需求:保留1功能,去掉2功能 实现: href = "javascript:void(0);" */ let element_d = document.getElementById("add"); element_d.onclick = function (){ //给div添加子节点 //创建div节点 var div3 = document.createElement("div"); div3.setAttribute("id","div3");//设置属性 div1.appendChild(div3);//添加节点 } //返回节点的父节点 let div2 = document.getElementById("div2"); let div1 = div2.parentNode; alert(div1); </script> </body>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)