前端基础(二十五、DOM节点操作)

前言

了解到如何取到父母、兄弟、孩子节点后,我们还可以对DOM节点进行一些操作:

创建节点

document.createElement("标签名")

        var creatDom = document.createElement("div");
        console.log(creatDom);

创建节点
如图,利用 document.createElement("") ,可以创建已存在的标签,如 <div> 标签,也可以创建一个不存在的标签,如 document.createElement("abc") 创建一个 <abc> 标签

插入节点

appendChild(要插入的子节点):在父节点的最后插入一个新的子节点

<body>
    <ul id="list1">
        <li>a</li>
        <li>b</li>
        <li>c</li>
    </ul>
    <ul id="list2">
        <li>d</li>
        <li>e</li>
        <li>f</li>
    </ul>
    <script>
        var oUl1 = document.querySelector("#list1");
        var oUl2 = document.querySelector("#list2");
        // var creatDom = document.createElement("div");
        // console.log(creatDom);

        var insert1 = oUl1.appendChild(oUl2);
        console.log(insert1);
    </script>
</body>

插入
输出list2的内容,如图,显示list2被插入到list1的后面

insertBefore(要插入的子节点,作为参考的子节点):将该节点的子节点插入到作为参考的子节点前面

<body>
    <ul id="list1">
        <li id="li1">a</li>
        <li id="li2">b</li>
        <li>c</li>
    </ul>
    <ul id="list2">
        <li>d</li>
        <li>e</li>
        <li>f</li>
    </ul>
    <script>
        var oUl1 = document.querySelector("#list1");
        var oUl2 = document.querySelector("#list2");
        var oLi1 = document.querySelector("#li1");
        var oLi2 = document.querySelector("#li2");

        // var creatDom = document.createElement("div");
        // console.log(creatDom);

        // var insert1 = oUl1.appendChild(oUl2);
        // console.log(insert1);

        var insert2 = oUl1.insertBefore(oLi2,oLi1);
        console.log(insert2);
    </script>
</body>

输出li2的内容,即被插入的节点为li2,将li2这一节点插入到li1前面:
插入2

删除节点

removeChild(要删除的子节点):删除子节点

<body>
    <ul id="list1">
        <li id="li1">a</li>
        <li id="li2">b</li>
        <li>c</li>
    </ul>
    <ul id="list2">
        <li>d</li>
        <li>e</li>
        <li>f</li>
    </ul>
    <script>
        var oUl1 = document.querySelector("#list1");
        var oUl2 = document.querySelector("#list2");
        var oLi1 = document.querySelector("#li1");
        var oLi2 = document.querySelector("#li2");

        // var creatDom = document.createElement("div");
        // console.log(creatDom);

        // var insert1 = oUl1.appendChild(oUl2);
        // console.log(insert1);

        // var insert2 = oUl1.insertBefore(oLi2,oLi1);
        // console.log(insert2);

        var deleteDom = oUl1.removeChild(oLi1);
        console.log(deleteDom);
    </script>
</body>

输出li1,表示删除的节点为li1:
删除
如要删除自己,可以 父节点.removeChild(父节点)

复制节点

cloneNode():复制节点

<body>
    <ul id="list1">
        <li id="li1">a</li>
        <li id="li2">b</li>
        <li>c</li>
    </ul>
    <ul id="list2">
        <li>d</li>
        <li>e</li>
        <li>f</li>
    </ul>
    <script>
        var oUl1 = document.querySelector("#list1");
        var oUl2 = document.querySelector("#list2");
        var oLi1 = document.querySelector("#li1");
        var oLi2 = document.querySelector("#li2");

        // var creatDom = document.createElement("div");
        // console.log(creatDom);

        // var insert1 = oUl1.appendChild(oUl2);
        // console.log(insert1);

        // var insert2 = oUl1.insertBefore(oLi2,oLi1);
        // console.log(insert2);

        // var deleteDom = oUl1.removeChild(oLi1);
        // console.log(deleteDom);

        var cloneDom = oLi1.cloneNode();
        console.log(cloneDom);
    </script>

输出li1的标签 ,表示复制的是li1的标签:
复制false
cloneNode()内的参数默认为 false ,即仅克隆标签本身,不复制其内容,当将参数设置为 true 时,复制包含标签本身及其内容:

        var cloneDom = oLi1.cloneNode(true);
        console.log(cloneDom);

复制true





(๑′ᴗ‵๑)爱你~

以上为本萌新个人总结,如有不当之处望指正,有问题可以联系
邮箱:yuna_03@163.com或
QQ:2635591841

更于2021.2.21

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值