JavaScript基础(23)_DOM增删改

DOM增加对象

createElement():
含义:创建一个元素节点对象。
用法:它需要一个标签名作为参数,将会根据该标签名创建元素节点对象,并将创建好的对象作为返回值返回。
比如,创建一个列表项:var li = document.createElement("li");

createTextNode():
含义:创建文本节点对象。
用法:需要一个文本内容作为参数,将会根据该内容创建文本节点,并将新的节点返回。
比如:var TextNode = document.createTextNode("广州");

appendChild():
含义:向一个父节点中添加一个新的子节点。
语法:父节点.appendChild(子节点);

DOM删除对象

removeChild():
含义:删除一个子节点。
语法:父节点.removeChild(子节点);

DOM改动对象

insertBefore():
含义:在指定的子节点前面插入新的子节点。
语法:父节点.insertBefore(新子节点,旧子节点);

replaceChild():
含义:使用指定的子节点替换已有的子节点。
语法:父节点.replaceChild(新子节点,旧子节点);

父节点的获取:

1、直接找出父节点。
参照以下练习,举例:var city = document.getElementsByClassName("city")[0];

2、子节点.parentNode(推荐使用)。
参照以下练习举例:
var sz = document.getElementById("sz");               
sz.parentNode.replaceChild(li,sz);

代码示例:

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

<head>
    <meta charset="UTF-8">
    <title>DOM增删改</title>
    <script>
        window.onload = function () {
            var li = document.createElement("li");
            // 相当于:var TextNode = document.createTextNode("广州");
            // li.appendChild(TextNode);
            li.innerHTML = "广州";

            // 为 "添加城市"按钮 绑定事件
            myclick("AddCity", function () {
                var city = document.getElementsByClassName("city")[0];
                city.appendChild(li);
            }
            );

            // 为 "删除城市"按钮 绑定事件
            myclick("RemoveCity", function () {
                var city = document.getElementsByClassName("city")[0];
                city.removeChild(li);
            }
            );

            // 为 "在最前面添加城市"按钮 绑定事件
            myclick("InsertBefore_city", function () {
                var sh = document.getElementById("sh");
                // 调用子节点.parentNode直接代替city,使代码更简洁。
                sh.parentNode.insertBefore(li, sh);
            }
            );

            // 为 "把深圳替换为广州"按钮 绑定事件
            myclick("ReplaceCity", function () {
                var sz = document.getElementById("sz");
                sz.parentNode.replaceChild(li, sz);
            }
            );
        }

        // 回调函数
        function myclick(btn, fun) {
            flag = document.getElementById(btn);
            flag.onclick = fun;
        }
    </script>
</head>

<body>
    <p>你喜欢哪个城市?</p>
    <ul class="city">
        <li id="sh">上海</li>
        <li>北京</li>
        <li>厦门</li>
        <li id="sz">深圳</li>
        <li>天津</li>
    </ul>
    <form action="">
        <input type="button" value="添加城市" id="AddCity">
        <input type="button" value="删除城市" id="RemoveCity"><br>
        <input type="button" value="在最前面添加城市" id="InsertBefore_city"><br>
        <input type="button" value="把深圳替换为广州" id="ReplaceCity">
    </form>
</body>

</html>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值