这是我的JS。我不知道为什么追加到最后一个孩子的“ X”在第一次单击时不起作用,但在第二次单击时却起作用。 “ x”网址位于克隆的div中。那是问题所在吗?还是HTML中有问题?



$(document).ready(function () {
    $(".add").click(function () {
        var aaa = $(this).parent("div").attr('id')
        $(this).parent().children(".add").siblings(".name,.detail,.price").clone().appendTo(".CART").wrapAll('<div class="dump ' + aaa + '"></div>')
        $(this).removeClass("add").addClass("added");
        $(".dump:last-child").append('<a class="delC" href="javascript:delC()">x</a>');
        $(".dump").removeClass("dump")
    });

})

////////////////
function delC() {
    $(document).on('click', '.delC', function () {
        var xx = $(this).parent("div").attr('class')
        $("." + xx + "").remove()
    })
}

<div id="itemA">
    <div class="detail">USB</div>
    <div class="name">USB type1</div>
    <div class="price">1500</div>
    <div class="weight">20 Gr</div>
<a class="add">add</a>

</div>
<div id="itemB">
    <div class="detail">RAM</div>
    <div class="name">RAM type1</div>
    <div class="price">2000</div>
    <div class="weight">50 Gr</div>
<a class="add">add</a>

</div>
<div class="CART"></div>

最佳答案

您不需要在href上调用单独的函数。您可以将其绑定到单击功能。

$(document).on('click', '.delC', function(e){
        e.preventDefault();
        var xx = $(this).parent("div").attr('class')
    $("."+xx+"").remove()
    })


工作的JsFiddle http://jsfiddle.net/j65uex6t/

关于javascript - 我的JS工作第二次点击,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29637645/

10-11 08:23