JS:元素的增删改查发、克隆

javascript 文章 2022-07-20 10:09 554 0 全屏看文

AI助手支持GPT4.0

对文档树中的节点们 可以用js进行增删改查:

增:

1、创建元素:这个元素是不会渲染到页面上的,它不在DOM中
传入字符串(标签的名字)
var box=document.createElement("div")

2、添加到文档树中,x.appendChild(y)  把y节点对象添加到x节点中

box.appendChild(box2)

3、增加类名(classList.add()方法)

box2.classList.add("box2")
等同于
 box2.className="box2"

3.1、增加多个类名(className)

box2.className="box2 box3"
  等同于:
 box2.className="box2"
 box2.className=box2.className+" box3"
注意:box3前面有一个空格

 4、增加节点(insertBefore()方法)

     <div class="box">            <div class="box2">hello1</div>            <div class="box2">hello2</div>            <div class="box2">hello3</div>            <div class="box2">hello4</div>        </div>        <script>            var box=document.querySelector(".box")            var a1=document.createElement("h1")            a1.innerHTML="6666"            box.insertBefore(a1,box.children[2])        </script>

网页效果:

4.1、insertAfter方法(需要自己封装)

function insertAfter(El,targetEl){    var parent=targetEl.parentNode;    if(parent.lastChild==targetEl)    {        parent.appendChild(newEl);    }    else    {        parent.insertBefore(El,targetEl.nextSibling);    }}

删:

1、删除类名
box2.classList.remove("box2")
 
2、删除子节点
box.parentElement.removeChild(box)

3、删除自己

box.remove()

4、清空自己

box.parentElement.innerHTML=""

5、删除元素

box.removeChild()

改:

innerHTML也可以用于添加元素
box2.innerHTML="6666"

注:6666会把box2内部的所有元素全部覆盖

解决方案 :
创建一个元素 把666作为它的innerHTML  然后把它添加到box2
box2.innerHTML+="<h1>6666</h1>"
 

查:

<div id="box"></div><script>    var box=document.querySelector("#box")</script>

克隆:

var box2 = box.cloneNode()//不会克隆事件等var box2 = box.cloneNode(true)//连同box的后代元素和所有的事件 一起克隆var btn1 = btn.cloneNode(true)box.appendChild(btn1)//把克隆的btn1添加到box的子节点中去

节点对象怎么来的?

只有创建、添加进页面,才是真正的添加了节点,否则就是移动节点。

-EOF-

AI助手支持GPT4.0


国内超级便宜服务器

摸鱼人热门新闻聚合

钻级赞助商 我要加入

开发者在线工具

第三方支付技术请加QQ群

相关文章
JavaScript基本知识点——带你逐步解开JS的神秘面纱
h5常用定位功能封装
博客园美化教程
Object.defineProperty方法
如何手写一个js工具库?同时发布到npm上
随便看看
教育科技公司申请微信支付被拒绝? 4697
微信公众号免300认证教程 5778
小程序已经上线,作为管理员无法在小程序数据助手查看数据? 5190
小程序广告组件通过审核,但是小程序内没有显示广告? 4965
企业微信通讯录账号被管理员误/恶意删除,怎么办? 9393
问题? 8913
如何快速搭建抽奖助手小程序(无需代码知识) 6043
许涛 大哥在吗, 要解冻小程序的时候提示信息主体不一致, 能帮忙看下吗? 7346
小程序搜一搜全称搜索不显示 麻烦解决一下!谢谢 6673
我的小程序广告收款主体是个体工商户,每个月邮寄两次发票很是麻烦,我年底的时候打包邮寄一次可以么? 6002