不使用jQuery更改文本

时间:2014-04-19 15:58:09

标签: javascript jquery

我有这段代码,我想在<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是我要添加的价格)

4 个答案:

答案 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());