<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/