0

出于某种奇怪的原因,我的追加只是添加而不是删除。

这是HTML:

<div class="insert-links"></div>
<a href="#" id="button" onclick="return false;"> 
<img src="http://a.dryicons.com/images/icon_sets/blue_extended_icons_set/png/64x64/add.png" ">
</a>

jQuery如下:

<script type='text/javascript'>//<![CDATA[ 
$(function() {
    var i = 0;

    $('#button').click(function() {
        if (i < 10) {
            $('.insert-links').append('<p style="display: none;" class="new-link"><input tabindex="1" placeholder="Command eg: give #user# 264"  style="width:285px\;margin-top: 12px\;" type="text" name="fname" id="fname"/> <input tabindex="1" placeholder="Price" style="width:45px\;background-color:#f4faff\;" title="Price in points of this item" type="text" name="fname" id="fname"/><a href="#" id="buttonremove" onclick="return false;"><img src="http://c.dryicons.com/images/icon_sets/blue_extended_icons_set/png/128x128/remove.png" style="width: 20px;float: right;margin-top: 19px;margin-right: 19px;"></a></p>');
            $('.insert-links').find(".new-link:last").slideDown("slow");
            i++;
        }
    });

    $('#buttonremove').click(function() {
        if (i > 0) {
            $('#buttonremove').parent('p').remove();
            i--;
        }
    });
});//]]>  
</script>

有人可以帮我吗?

4

2 回答 2

2

为此使用 jQuery事件委托

小提琴演示

$('.insert-links').on('click', '#buttonremove', function() {
    if (i > 0) {
        $('#buttonremove').parent('p').remove();
        i--;
    }
});
于 2013-07-18T16:23:13.413 回答
0

问题是您在页面加载时将点击事件绑定到“buttonremove”,在那个特定时刻,包含所有其他元素的段落还不存在。您需要做的是在#button 的点击内移动绑定代码。

于 2013-07-18T17:03:09.360 回答