Javascript JQuery.append和.remove don';I don’我好像一直在工作
根据这方面的其他stackoverflow帖子,这应该是可行的。但事实并非如此。 这是代码。非常基本,只是为了测试 HTML:Javascript JQuery.append和.remove don';I don’我好像一直在工作,javascript,jquery,Javascript,Jquery,根据这方面的其他stackoverflow帖子,这应该是可行的。但事实并非如此。 这是代码。非常基本,只是为了测试 HTML: <form> <div id="inputs"> <p><input type="text" id="user" /></p> </div> <hr /> <input type="b
<form>
<div id="inputs">
<p><input type="text" id="user" /></p>
</div>
<hr />
<input type="button" value="Add Another Row" class="add" id="add" >
</form>
和JQuery:
<script>
$(function() {
var node = "";
var count = 0;
$('#add').on('click', function() {
$node = '<p><input type="text" id="' + count + '"><a href="#" class="remove">Remove Number' + count + '</a></p>';
count++;
$('#inputs').append(node);
});
$('.remove').on('click', function() {
$(this).parent().remove();
return false;
});
});
</script>
$(函数(){
var节点=”;
var计数=0;
$('#添加')。在('单击',函数()上){
$node='';
计数++;
$('#inputs')。追加(节点);
});
$('.remove')。在('click',function()上{
$(this.parent().remove();
返回false;
});
});
奇怪的是,addfield函数在我的浏览器上工作。然而,我将相同的代码放入JSFIDLE,它在那里无法工作。
无论是在我的浏览器中还是在JSFIDLE中,remove函数都不起作用。
我仍然在学习JQuery和Javascript,所以如果能帮助我学习,我将不胜感激。谢谢 代码的第一个问题是使用了错误的变量
$('.remove').on('click', function() {
您已声明var node=”“代码>
但是将其分配给$node='太好了!谢谢你,苏珊特。我是否应该在“代表团”主题下查阅更多有关这方面的信息?还是叫别的什么?@George-寻找“活动代表团”。这非常简单:您不仅可以在特定元素上侦听事件,还可以在该元素的任何父元素上侦听事件。jQuery的.on()
方法允许您这样做,并将其与所需特定元素的检查相结合。Sushanth的代码将事件侦听器附加到#inputs
元素,jQuery检查事件是否确实发生在上。删除该元素的子元素。如果有,它将调用事件侦听器函数。@George。。不客气:)迈克尔和苏珊特——你们俩都棒极了!谢谢你的帮助和解释。我要去查更多的信息,这样我就不会再犯这个错误:)
$('#inputs').on('click', '.remove', function() {