
dom节点: dom树里每一个内容都称之为节点
节点类型:
元素节点 :所有的标签 比如body、div html是根节点
属性节点 : 所有的属性 比如href
文本节点 : 所有的文本
其他节点
节点查找:
- html>
- <html lang="en">
-
- <head>
- <meta charset="UTF-8" />
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <title>Documenttitle>
- <style>
- * {
- margin: 0;
- padding: 0;
- }
-
- .erweima {
- position: relative;
- width: 160px;
- height: 160px;
- margin: 100px auto;
- border: 1px solid #ccc;
- }
-
- .erweima i {
- position: absolute;
- left: -13px;
- top: 0;
- width: 10px;
- height: 10px;
- border: 1px solid #ccc;
- font-size: 12px;
- line-height: 10px;
- color: #ccc;
- font-style: normal;
- cursor: pointer;
- }
- style>
- head>
-
- <body>
- <div class="erweima">
- <img src="./images/code.png" alt="" />
- <i class="close_btn">xi>
- div>
- <script>
-
- // 1. 查找所需要的标签
- let close_btn = document.querySelector(".close_btn");
-
-
- // 2. 注册事件
- close_btn.addEventListener("click", function () {
- // 使用parentNode找到父节点==》.erweima 操作它即可
- this.parentNode.style.display = 'none'
- });
-
-
-
- script>
- body>
-
- html>
父元素查找:
子元素.parentNode
子元素查找:
父元素.children

子节点查找:
childNodes
获得所有子节点、包括文本节点(空格、换行)、注释节点等 所有的
children(重点)
获取所有元素节点
返回的还是一个伪数组
父元素.children
兄弟关系查找:
下一个兄弟节点: nextElementSibling属性
上一个兄弟节点: previousElementSibling属性


增加节点:

目标:能够根据需求增加节点的能力
很多情况下,我们需要在页面中增加元素
比如,点击发布按钮,可以新增一条信息
一般情况下,我们新增节点,按照如下操作:
创建一个新的节点
把创建的新结点放入到指定的元素内部
学习路线:
创建节点
追加节点

追加节点:
要想在界面看到,还得插入到某个父元素中
插入到父元素的最后一个子元素:
父元素.appendChild(要插入的元素)
插入到父元素中某个子元素的前面
父元素.insertBefore(要插入的元素,在哪个元素前面)
克隆节点:

cloneNode会克隆一个跟原标签一样的元素, 括号里面传入布尔值
若为true,则代表克隆时会包含后代节点一起克隆 深拷贝
若为false,则表示克隆是不包含后代节点 浅拷贝
默认为false
删除节点:

目标:能够具备根据需求删除节点的能力
若一个节点在页面中已不需要时,可以删除它
在javaScript原生DOM操作时,要删除元素必须通过父元素删除
语法: 父元素.removeChild(要删除的元素)
注意:
如果不存在父子关系则删除不成功
删除的是 父元素.children[ 你想删除的子元素索引号]
删除节点和隐藏节点(display:none)有区别的:隐藏节点还是存在的,但是删除,则是从html中删除节点