簡體   English   中英

為什么我使用jQuery獲取[object object]?

[英]Why i'm getting [object object] using jQuery?

我那里有一個函數,我想嘗試使用如下所示的變量求和兩個數字,但是我正在獲取[object object]而不是總和。

 var convenienceCharge = 100; var totalPgCost = 500; var subTotalPgCost = 0; function totalPgCostFunction() { subTotalPgCost += $('.subTotalPgCost').text(convenienceCharge + totalPgCost + 18); alert(subTotalPgCost); } 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <button onclick="totalPgCostFunction();">Click</button> 

.text將返回一個對象。 這就是為什么您看到[object object]

您需要這樣做。

 var convenienceCharge = 100; var totalPgCost = 500; var subTotalPgCost = 0; function totalPgCostFunction() { subTotalPgCost += convenienceCharge + totalPgCost + 18; $('.subTotalPgCost').text(subTotalPgCost); alert(subTotalPgCost); } 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <button onclick="totalPgCostFunction();">Click</button> <div class="subTotalPgCost"></div> 

問題是因為當您調用text()的setter時,它將返回一個jQuery對象,因此您會看到輸出。

為此,您需要拆分計算和text()邏輯,如下所示:

 var convenienceCharge = 100; var totalPgCost = 500; var subTotalPgCost = 0; $(function() { $('button').click(function() { subTotalPgCost += convenienceCharge + totalPgCost + 18; $('.subTotalPgCost').text(subTotalPgCost); }); }); 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <button>Click</button> <div class="subTotalPgCost"></div> 

還要注意,在此示例中使用了不顯眼的事件處理程序,而不是過時的on*屬性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM