jQuery单击附加项的操作

时间:2014-12-31 11:19:23

标签: javascript jquery append

查看了文档,我知道问题在于我要删除的项目正在追加。虽然我可以看到使用.on应该允许这个。我将一些内容附加到带有按钮的列表中,我想在单击时删除附加的内容。

<ul id="children">
    <li id="child1">
        <label class="narrow-full">Child</label>
        <?php echo form_dropdown('year[]', $years, date('Y')); ?>
    </li>
</ul>

var c = 1;
    $( ".child-add" ).click(function() {
        $( "#child1" ).clone().append( "<span class='child-delete ui-icon ui-icon-trash inline-block'></span>" ).attr('id', 'child'+(++c) ).appendTo( "#children" );
    });

    $( ".child-delete" ).on('click',function() {
        $(this).parent().remove();
    });

内容附加正常,但重置它的点击功能不会触发。然而,如果内容已经在页面上,例如,它确实有效。之后没有附加。

1 个答案:

答案 0 :(得分:1)

只要将child-delete附加到DOM,$('.child-delete').on('click', ..)将无效,因为jQuery无法找到它。

而是使用event delegation

$(document).on('click', '.child-delete', function() {
    $(this).parent().remove();
});