您当前的位置: 首页 > 

暂无认证

  • 1浏览

    0关注

    92582博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

js 深度解析DOM

发布时间:2020-11-01 09:11:34 ,浏览量:1

1:DOM开篇
"en">"UTF-8">"viewport" content="width=device-width, initial-scale=1.0">程序之美

注意一下: window代表窗口. 在这里插入图片描述

document是window的一个属性.

在这里插入图片描述

因为document是window的一个属性,因为属性都是对象拥有的,所以他是一个object;

在这里插入图片描述

记住,document对象可以操作文档中的所有内容,所以这样写… window可以不写的哈.

效果:

在这里插入图片描述

2.获取DOM元素上
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>程序之美</title> </head> <body> <div class="father"> <form action=""> <input type="text" name="test"> <input type="password" name="test" id=""> </form> </div> <div class="father" id="box">我是div</div> <script type="text/javascript"> console.log("//1:通过id获取指定元素"); let q=document.getElementById("box"); console.log(q); console.log(typeof q); console.log("//2:通过类名称指定元素"); let w=document.getElementsByClassName("father"); console.log(w); console.log("//3:通过name名称来获取"); let e=document.getElementsByName("test"); console.log(e); console.log("4:通过标签名来获取"); let r=document.getElementsByTagName("div"); console.log(r); console.log("5:通过选择器来获取一个"); let t=document.querySelector("div>form"); console.log(t); console.log("6:通过选择器来获取全部的"); let y=document.querySelectorAll(".father"); console.log(y); </script> </body> 

注意一下,获取的如果加了s获取all的就是全部的.否则就是一个

效果:

在这里插入图片描述

2.获取DOM元素下
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <div> <h1>1</h1> <h2>2</h2> <p class="item">3</p> <p>4</p> <span>5</span> </div> <script type="text/javascript"> console.log("1.获取指定元素所有的子元素"); let q=document.querySelector("div");//指定元素 console.log(q.children);//div下所有的子元素 console.log("2:获取到的是指定元素中所有的节点"); console.log(q.childNodes); console.log("遍历节点"); for(let node of q.childNodes) { if(node.nodeType===Node.ELEMENT_NODE)//遍历的节点类型如果是如果当前节点是元素节点的话。  { console.log(node); } } console.log("3:获取指定节点中的第一个子节点"); console.log(q.firstChild); console.log("4:获取指定元素中的第一个子元素"); console.log(q.firstElementChild); console.log("5:获取指定节点中最后一个子节点"); console.log(q.lastChild); console.log("6:获取指定元素中最后一个子元素"); console.log(q.lastElementChild); console.log("7.通过子元素获取父元素/父节点"); let item = document.querySelector(".item"); console.log(item.parentElement); console.log(item.parentNode); let parentEle=item.parentElement||item.parentNode; console.log(parentEle); console.log("获取相邻上一个节点"); console.log(item.previousSibling); console.log(" 获取相邻上一个元素"); console.log(item.previousElementSibling); console.log("获取相邻下一个节点"); console.log(item.nextSibling); console.log("获取相邻下一个元素"); console.log(item.nextElementSibling); </script> </body> </html> 

注意一下,这里最重要的是属性长,写注意一点哈 效果; 在这里插入图片描述

节点增删改查

html部分都是这里的代码.

		
我是标题

我是段落

1.创建节点

let q=document.createElement("span"); console.log(q); console.log(typeof q); 

效果: 在这里插入图片描述

2.添加节点

let e=document.querySelector("div"); e.appendChild(q); let r=document.createElement("a"); e.appendChild(r); 

效果: 在这里插入图片描述

3:插入节点:

let oSpan=document.createElement("span"); let oDiv = document.querySelector("div"); let oH1 = document.querySelector("h1"); let oP = document.querySelector("p"); oDiv.insertBefore(oSpan,oH1); oDiv.insertBefore(oSpan,oP); 

效果: 在这里插入图片描述

5.删除节点

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <div> <h1>我是标题</h1> <p>我是段落</p> </div> <script type="text/javascript"> let oDiv = document.querySelector("div"); let oH1 = document.querySelector("h1"); let oP = document.querySelector("p"); oH1.parentNode.removeChild(oH1); oP.parentNode.removeChild(oP); </script> </body> </html> 

注意点: 在js中如果想要删除某一个元素, 只能通过对应的父元素来删除 元素是不能够自杀的

效果: 在这里插入图片描述

6: 克隆节点

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <div> <h1>我是标题</h1> <p>我是段落</p> </div> <script type="text/javascript"> let oDiv = document.querySelector("div"); let newDiv=oDiv.cloneNode(true); document.body.append(newDiv); </script> </body> </html> 

效果: 在这里插入图片描述

元素属性操作
关注
打赏
1653961664
查看更多评论
立即登录/注册

微信扫码登录

0.0774s