0
$('td').click(function () {
    var total = $('<div id="total"></div>')
    var price = +($(this).text())
    var old = +($('#total').text())
    var newPrice = (old + price)
    $('<div class="notice"></div>')
        .append('<div class="skin"></div>')
        .append($('<div class="content"></div>').text('Total price:' + " " + $('#total').text(newPrice)))
        .hide()
        .appendTo('#panel_two')
        .fadeIn(1000);
    $('#panel_two').fadeIn().appendTo('#windowContainer');
}

newPrice (Total price:) を表示しようとしている行に object Object error が表示されます。何かアイデアはありますか?

ただし、これは正常に機能します。

$(document).ready(function(){
   $('td').click(function(){
    var Price = +($(this).text());
    var Old = +($('#Total').text());
    var New = (Old + Price);
    $('#Total').text(New);
   })
})
4

1 に答える 1

0
$('<div class="content"></div>')
   .text('Total price:' + " " + $('#total').text(newPrice) )

基本的には、「 を見つけ#total、そのテキストを の値に設定し、 の戻り値をとnewPrice連結し、それを新しい要素のテキストとして設定する」ことを意味します。.text(...)"Total price: "

さて、戻り値は$('#total').text(newPrice)is $('#total')、notnewPriceです。つまり、連結のために文字列に変換する価値はありません。

おそらくこれはあなたが望むものですか?:

$('#total').text(newPrice);
$('<div class="content"></div>').text('Total price:' + " " + newPrice)
//...
于 2013-03-03T18:04:00.920 に答える