js动态添加和删除标签

Posted bwlu---ed

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js动态添加和删除标签相关的知识,希望对你有一定的参考价值。

html代码

<h1>动态添加和删除标签</h1>
<div id="addTagTest">
    <table>
        <thead><tr><th>姓名</th><th>年薪</th><th>操作</th></tr></thead>
        <tbody id="info">
                    
        </tbody>
    </table>
    姓名:<input type="text" name="userName" id="userName" value="" /><br>
    年薪<input type="text" name="money" id="money" value="" /><br>
    <button id="add" onclick="addTag()">添加记录</button>
</div>

js代码:

第一种:动态添加(删除没有做)

function addTag(){
    //获取值
    var userName=document.getElementById("userName").value;
    var money=document.getElementById("money").value;
    //创建元素
    var tr=document.createElement("tr");
    var td1=document.createElement("td");
    var td2=document.createElement("td");
    //为元素的属性赋值
    td1.innerHTML=userName;
    td1.setAttribute("align","center");
    td2.innerHTML=money;
    td2.setAttribute("align","center");
    var info = document.getElementById("info");
    //添加到页面中
    info.appendChild(tr);
    tr.appendChild(td1);
    tr.appendChild(td2);
}        

第二种:动态添加和删除(js集合)

var list=[];//声明一个集合
function addTag(){
    var userName=document.getElementById("userName").value;
    var money=document.getElementById("money").value;
    var obj=new Object();
    obj.name=userName;
    obj.money=money;
    list.push(obj);   //对象放入集合
    var info = document.getElementById("info");
    var inner="";
    //动态添加元素
    for(i=0;i<list.length;i++){
        inner+="<tr>";
        inner+=‘<td align=\"center\">‘+list[i].name+‘</td><td align=\"center\">‘+list[i].money+
        ‘</td><td align=\"center\"><a name=\"‘+i+‘\" onclick=\"functiondel(this)\">‘+"删除"+‘</a></td>‘;
        inner+="</tr>";
    }
    info.innerHTML=inner;
}
//删除方法
function functiondel(o){
    var stack=[];//声明一个临时栈
    var index=o.name;
    for(k=list.length-1;k>=0;k--){
        if(k>index){
            stack.push(list[k]);
            list.pop();
        }
        else{
            list.pop();
            break;
        }
    }
    for(m=stack.length-1;m>=0;m--){
        list.push(stack[m]);
    }
    var info = document.getElementById("info");
    var inner="";
    for(i=0;i<list.length;i++){
        inner+="<tr>";
        inner+=‘<td align=\"center\">‘+list[i].name+‘</td><td align=\"center\">‘+list[i].money+
        ‘</td><td align=\"center\"><a name=\"‘+i+‘\" onclick=\"functiondel(this)\">‘+"删除"+‘</a></td>‘;
        inner+="</tr>";
    }
    info.innerHTML=inner;
}

 

以上是关于js动态添加和删除标签的主要内容,如果未能解决你的问题,请参考以下文章

为啥我js动态添加的a标签相应的js会失效

js动态添加与删除ul中的li

js动态创建多个div

jquery-ui-bootstrap动态添加和删除标签页封装效果更炫

操作栏标签片段中的片段?

js中怎么删除一个标签及其标签下的所有内容?