我从网站上的这里获得了这段代码,它在 jsfidle ( http://jsfiddle.net/jaredwilli/tZPg4/4/ ) 上运行得很好,但是当我把它放在我的网站上时,当我点击它时,“删除”链接不会执行任何操作。
注意:我已经将“live”替换为“on”。
代码:
HTML:
<h2><a href="#" id="addScnt">Add Another Input Box</a></h2>
<div id="p_scents">
<p>
<label for="p_scnts"><input type="text" id="p_scnt" size="20" name="p_scnt" value="" placeholder="Input Value" /></label>
</p>
</div>
JS:
$(function() {
var scntDiv = $('#p_scents');
var i = $('#p_scents p').size() + 1;
$('#addScnt').live('click', function() {
$('<p><label for="p_scnts"><input type="text" id="p_scnt" size="20" name="p_scnt_' + i +'" value="" placeholder="Input Value" /></label> <a href="#" id="remScnt">Remove</a></p>').appendTo(scntDiv);
i++;
return false;
});
$('#remScnt').live('click', function() {
if( i > 2 ) {
$(this).parents('p').remove();
i--;
}
return false;
});
});
最佳答案
首先将 remScnt
更改为 class
,因为它将多次出现在 DOM 中,
只需尝试以下操作,
$(document).on('click','.remScnt', function() {
if( i > 2 ) {
$(this).parents('p').remove();
i--;
}
return false;
});
关于javascript - JS 删除元素的函数不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21231995/