Jquery和XML—如何添加节点的值

Jquery和XML—如何添加节点的值,xml,jquery,Xml,Jquery,这可能是一个简单的问题,但我不知道怎么做 我正在用jQueryAjax解析XML。它包含日期和费率 XML看起来像 <rate> <date>Today</date> <price>66</price> </rate> <rate> <date>Tomorrow</date> <price>99</price> </rate> 然而,它只是

这可能是一个简单的问题,但我不知道怎么做

我正在用jQueryAjax解析XML。它包含日期和费率

XML看起来像

<rate>
 <date>Today</date>
 <price>66</price>
</rate> 
<rate>
 <date>Tomorrow</date>
 <price>99</price>
</rate> 
然而,它只是将两个值连接起来,而不是将它们相加

//output is: 6699 
我非常感谢你的帮助


谢谢

如果你只是在中间使用了一个JavaScript变量,它会得到你想要的结果。
var myTotal = 0;
    $(xml).find("rate").each(function()
    {
       $(this).find("price").each(function()
       {
         mytotal = mytotal  + Number($(this).text());     
       }

    }
  $("#TOTALPRICE"). append(myTotal);

如果你只是在中间使用了一个JavaScript变量,它会得到你想要的结果。

var myTotal = 0;
    $(xml).find("rate").each(function()
    {
       $(this).find("price").each(function()
       {
         mytotal = mytotal  + Number($(this).text());     
       }

    }
  $("#TOTALPRICE"). append(myTotal);

追加不会进行添加,它只会添加文本。如果#TOTALPRICE仅包含总计,则可以执行以下操作:

$(xml).find("rate").each(function()
{
   $(this).find("price").each(function()
   {
      var current = parseInt($("#TOTALPRICE"));
      current += parseInt($(this).text());
      $("#TOTALPRICE").html(current);
   }
}

如果#TOTALPRICE因为包含其他内容而需要将内容追加到结尾,那么Avitus发布的解决方案应该适合您。

追加不会进行添加,它只会添加文本。如果#TOTALPRICE仅包含总计,则可以执行以下操作:

$(xml).find("rate").each(function()
{
   $(this).find("price").each(function()
   {
      var current = parseInt($("#TOTALPRICE"));
      current += parseInt($(this).text());
      $("#TOTALPRICE").html(current);
   }
}
如果#TOTALPRICE因为包含其他内容而需要将内容附加到末尾,那么Avitus发布的解决方案应该适合您。

jQuery将在选择器匹配的每个元素末尾插入内容。这意味着当您添加“66”时,它将被添加到元素中。您需要按照Avitus的描述跟踪总计,然后您可能希望使用jQuery的函数来设置
TOTALPRICE
的内容,如下所示:

$("#TOTALPRICE").text(myTotal); 
jQuery将在选择器匹配的每个元素的末尾插入内容。这意味着当您添加“66”时,它将被添加到元素中。您需要按照Avitus的描述跟踪总计,然后您可能希望使用jQuery的函数来设置
TOTALPRICE
的内容,如下所示:

$("#TOTALPRICE").text(myTotal); 

明白了,伙计们!!!我只是在“each”中定义Var。覆盖每个循环上变量的值:

$(xml).find("rate").each(function()
{
   var myTotal = 0;
   $(this).find("price").each(function()
   {
     mytotal = mytotal  + Number($(this).text());     
   }

}
美元(“#总价”)。追加(我的总数)


非常感谢,这个网站非常棒

明白了,伙计们!!!我只是在“each”中定义Var。覆盖每个循环上变量的值:

$(xml).find("rate").each(function()
{
   var myTotal = 0;
   $(this).find("price").each(function()
   {
     mytotal = mytotal  + Number($(this).text());     
   }

}
美元(“#总价”)。追加(我的总数)

非常感谢,这个网站非常棒