0

我有这段代码,当我在 html 静态元素上使用它时它工作正常,但是当我用 jquery 更改 DOM 时,它不起作用。我试图为这样的事情找到一些解决方案,但我做不到。

那么如何修改这段代码,使用 dom 对象,而不是 html 对象?

非常感谢,祝你有美好的一天。

$(document).ready(function() {

var Arrays=new Array();



$('.data').click(function(){

    var thisID = $(this).attr('id');

    var itemname  = $(this).find('.product').html();
    var itemprice = $(this).find('.price').html();

    if(include(Arrays,thisID))
    {
        var price    = $('#each-'+thisID).children(".shopp-price").find('em').html();
        var quantity = $('#each-'+thisID).children(".shopp-quantity").html();
        quantity = parseInt(quantity)+parseInt(1);

        var total = parseInt(itemprice)*parseInt(quantity);

        $('#each-'+thisID).children(".shopp-price").find('em').html(total);
        $('#each-'+thisID).children(".shopp-quantity").html(quantity);

        var prev_charges = $('.cart-total span').html();
        prev_charges = parseInt(prev_charges)-parseInt(price);

        prev_charges = parseInt(prev_charges)+parseInt(total);
        $('.cart-total span').html(prev_charges);

        $('#total-hidden-charges').val(prev_charges);
    }
    else
    {
        Arrays.push(thisID);

        var prev_charges = $('.cart-total span').html();
        prev_charges = parseInt(prev_charges)+parseInt(itemprice);

        $('.cart-total span').html(prev_charges);
        $('#total-hidden-charges').val(prev_charges);

        $('#left_bar .cart-info').append('<div class="shopp" id="each-'+thisID+'"><div class="label">'+itemname+'</div><div class="shopp-price"> $<em>'+itemprice+'</em></div><span class="shopp-quantity">1</span><img src="remove.png" class="remove" /><br class="all" /></div>');

        $('#cart').css({'-webkit-transform' : 'rotate(20deg)','-moz-transform' : 'rotate(20deg)' });
    }

    setTimeout('angle()',200);
}); 


$('.remove').livequery('click', function() {

    var deduct = $(this).parent().children(".shopp-price").find('em').html();
    var prev_charges = $('.cart-total span').html();

    var thisID = $(this).parent().attr('id').replace('each-','');

    var pos = getpos(Arrays,thisID);
    Arrays.splice(pos,1,"0")

    prev_charges = parseInt(prev_charges)-parseInt(deduct);
    $('.cart-total span').html(prev_charges);
    $('#total-hidden-charges').val(prev_charges);
    $(this).parent().remove();

}); 

$('#Submit').livequery('click', function() {

    var totalCharge = $('#total-hidden-charges').val();

    $('#left_bar').html('Total Charges: $'+totalCharge);

    return false;

}); 

});

4

1 回答 1

0

在 DOM 对象更改后,您能否使用.bind() OR live() OR on()方法

bind():将处理程序附加到元素的事件。

live():为现在和将来匹配当前选择器的所有元素附加一个事件处理程序。

on():以上两者都已从较新版本中弃用,因此更好用.on()

于 2013-10-04T12:13:03.103 回答