2

js、动态添加删除

运用下边几个标签实现动态创建标签,删除标签,大家要考虑的是内存里边发生的情况

  • createElemen创建元素;

  • appendChild追加元素;

  • parentNode返回指定节点的父节点;

  • removeChild删除指定的元素节点。

第一步 HTML写法

<html>
    <head>
        <title>动态创建元素</title>
        <meta charset="utf-8">
    </head>
    <body>
        <div id="box">
            
        </div>
        <input type="text" id="txt">
        <input type="button" id="btn" value="点击">
    </body>
</html>

css设置属性

#box{
    width:200px;
    height:200px;
    border:1px solid #ccc;
}

动态创建、删除元素

                //获取元素的ID
                var oBox=document.getElementById("box");
                var oTxt=document.getElementById("txt");
                var oBtn=document.getElementById("btn");
                
                //添加
                oBtn.onclick=function(){
                    var pp =document.createElement("p");
                    var del=document.createElement("input");
                    del.type="button";
                    del.value="删除";
                    wenben=oTxt.value;
                    pp.innerHTML=wenben;
                    pp.style.color="red";
                    oBox.appendChild(pp);
                    pp.appendChild(del);
                    //删除
                    del.onclick=function(){
                        pp.parentNode.removeChild(pp);
                    }
                        oTxt.value="";
                }
                    

考虑一下正常的思路,我们通常是通过for循环来添加删除、但是那样肯定是执行不了代码的!
它为什么能把元素给删除掉呢,是因为咱们创建元素的时候就已经给他把那个click方法给添加进那个删除元素里边去了!
看一下下边的代码你就能明白了吧!

//获取元素的ID
                var oBox=document.getElementById("box");
                var oTxt=document.getElementById("txt");
                var oBtn=document.getElementById("btn");
                
                //添加
                oBtn.onclick=function(){
                    var pp =document.createElement("p");
                    var del=document.createElement("input");
                    del.type="button";
                    del.value="删除";
                    wenben=oTxt.value;
                    pp.innerHTML=wenben;
                    pp.style.color="red";
                    
                    //删除
                    del.onclick=function(){
                        pp.parentNode.removeChild(pp);
                    }
                        oTxt.value="";
                    oBox.appendChild(pp);
                    pp.appendChild(del);
                }

就是这个样子!有点眼熟,喜欢的话,点一下赞,谢谢!
下边附上演示地址。。。
http://runjs.cn/detail/xwqcq6on


青石巷
259 声望10 粉丝

js/jq/node/es6/vue/react/Angular