我试图限制向页面插入元素:

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

10-05 20:42
查看更多