<body>
<div id="options">
        <p class="input">
            <input type="text"/>
            <a class="remove" >Remove</a>
        </p>
        <p class="input">
            <input type="text"/>
            <a class="remove" >Remove</a>
        </p>
</div>
<a href = "#" id ="click" >Add Option</a>
</body>


和:

$(function() {
$("#click").click(function add_option(){
    var options = document.getElementById("options");
    var p=document.createElement("p");
    p.setAttribute("class","input");
    var input=document.createElement("input");
    input.setAttribute("type","text")
    options.appendChild(p);
    p.appendChild(input);
    var a=document.createElement("a");
    a.setAttribute("class","remove");

    var text = document.createTextNode(" Remove");
    a.appendChild(text);
    insertAfter(a,input);//if exist insertAfter
              }
              )

$(".remove").click(function remove_option(){

$(this).parent().remove();
})
})


当我单击Add Option时,它可以工作,但是当我单击新添加的remove时,它不会被删除。$(“。remove”)选择器是否对其起作用?(前两个工作)。如何使新添加的元素起作用?

最佳答案

尝试将其与.live()一起使用

$(".remove").live("click",function(){
$(this).parent().remove();
});

关于javascript - 在Javascript Dom中,无法选择新添加的元素?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7790058/

10-09 14:36