我试图限制向页面插入元素:
<script type="text/javascript">
$(function() {
var i = 1;
//allow only 3 elements
if (i < 4) {
$('#add').click(function() {
var add_input = '<input type="file" />'
var add_link = '<a href="#" class="remove">Remove</a>'
$('body').append('<p>' + add_input + add_link + '</p>');
});
i++;
}
$('.remove').live('click', function() {
$(this).parent('p').remove();
});
});
</script>
但是我仍然可以添加4个以上的元素。
最佳答案
您需要在事件处理程序中检查变量i
。
$('#add').click(function() {
if(i < 4){
var add_input = '<input type="file" />'
var add_link = '<a href="#" class="remove">Remove</a>'
$('body').append('<p>' + add_input + add_link + '</p>');
i++;
}
});
并且您应该在
i
处理程序中减少live()
。参见工作示例:http://jsfiddle.net/CtGgg/