我有这段代码,我想在<span id="price">
中获取当前价格,添加另一个价格(例如1000),然后将<span id="price">
更改为新价格。当我尝试时,<span id="price">
中的文字就会消失。为什么会这样做以及如何修复代码?
JavaScript代码:
function getProductPrice()
{
return obj.price;
}
function getCurrentPrice()
{
var price = $("#price").val();
var price = $("#price").text();
return price
}
function getTotalPrice()
{
var total = $(getCurrentPrice() + getProductPrice()).val();
var total = $(getCurrentPrice() + getProductPrice()).text();
return total;
}
$("#price").val(getTotalPrice());
$("#price").text(getTotalPrice());
(obj.price是我要添加的价格)
答案 0 :(得分:0)
您正在尝试使用getCurrentPrice()
和getProductPrice()
的串联作为jQuery选择器,但关于您的问题的其他所有内容都表明它们是数字。
只需使用数字。
不要连接它们。不要在DOM中搜索与其匹配的元素。不要试图读取该元素的值或文本内容。
答案 1 :(得分:0)
我认为你不必总共使用jquery。试试这个:
var total = parseInt(getCurrentPrice()) + parseInt(getProductPrice());
答案 2 :(得分:0)
它可能正在消失,因为你设置它的价值实际上并不存在(因为从技术上讲,如果我猜测你正在为一个整数添加一个字符串对)。你可以试试像
这样的东西var price = parseInt($('#price').text()); //convert the text to integer
var addPrice = 1000; //the price you wanted to added
var newPrice = price + addPrice; // add them up
$('#price').text(newPrice); //voila!
例如,您可以将1000更改为obj.price
,因为它是您要添加的内容。
Fiddle顺便提一下。
答案 3 :(得分:0)
试试这个:
function getProductPrice() {
return obj.price;
}
function getCurrentPrice() {
var price = $("#price").text();
return price;
}
function getTotalPrice(){
var total = getCurrentPrice() + getProductPrice();
return total;
}
$("#price").text(getTotalPrice());