JavaScript中的节点操作

举报
相信光的奥特王小懒 发表于 2022/09/02 11:43:47 2022/09/02
【摘要】 JavaScript节点操作获取元素的两种方式,方便大家学习

1. 节点操作

获取元素的两种方式:

1.利用DOM提供的方法获取元素

  • document.getElementByld()
  • document.getElementsByTagName()
  • document.querySelector等
  • 逻辑性不强、繁琐

⒉利用节点层级关系获取元素

  • 利用父子兄节点关系获取元素
  • 逻辑性强,但是兼容性稍差

这两种方式都可以获取元素节点,我们后面都会使用,但是节点操作更简单

1.1 创建节点

document.createElement()方法创建由tagName指定的 HTML元素。因为这些元素原先不存在,是根据我们的需求动态生成的,所以我们也称为动态创建元素节点。


1.2 添加节点

在末尾添加

node.appendchild()方法将一个节点添加倒指定父节点的子节点列表末尾。类似于css里面的after 伪元素。

在首部添加

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>

<body>
    <ul>
        <li>123</li>
    </ul>
    <script>
        // 1. 创建节点元素节点
        var li = document.createElement('li');
		
        // 2. 添加节点 node.appendChild(child)  node 父级  child 是子级 后面追加元素  类似于数组中的push
        var ul = document.querySelector('ul');
        ul.appendChild(li);
		
        // 3. 添加节点 node.insertBefore(child, 指定元素);
        var lili = document.createElement('li');
			
		// 指定元素指的是针对谁而言,此处children[0]表示的是将此时ul的第一个孩子。下边这行代码表示的是在ul现在的第一个孩子之前插入lili。
        ul.insertBefore(lili, ul.children[0]);
    </script>
</body>
</html>

1.3 删除节点

node.removechild()方法从DoM中删除一个子节点,返回删除的节点。

1.4 删除留言案例

  • 当我们把文本域里面的值赋值给li的时候,多添加一个删除的链接
  • 需要把所有的链接获取过来,当我们点击当前的链接的时候,删除当前链接所在的li
  • 阻止链接跳转需要添加javascriptvoid(0);或者javascript:;


1.5 复制节点

node.cloneNode()方法返回调用该方法的节点的一个副本。也称为克隆节点/拷贝节点

注意:

  1. 如果括号参数为空或者为false,则是浅拷贝,即只克隆复制节点本身,不克隆里面的子节点。
  2. 如果括号参数为true ,则是深度拷贝,会复制节点本身以及里面所有的子节点。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。