jquery在同一个div id中添加值

时间:2014-06-20 03:40:00

标签: javascript jquery html

你好我试图添加的人,在同一个div中找到的所有值...

    <div id="price">20</div>
<div id="price">25</div>
<div id="price">10</div>
<div id="price">10</div>
<div id="price">5</div>

所以在我的输出中,我应该得到总计value=70 ..我尝试使用eachmap两者都没有按预期工作...

  var total = 0;
  $( "#price" ).map(function() {

        var total + = Number($(this).val());

   }).get();
   console.log(total);

我在Unexpected token +=的情况下遇到错误each,有什么方法可以解决这个问题吗?

3 个答案:

答案 0 :(得分:0)

您得到的错误是由+=操作符之间的间距引起的。 Ids也应该是唯一的,请使用class.try:

<强> DOM:

<div class="price">20</div>
<div class="price">25</div>
<div class="price">10</div>
<div class="price">10</div>
<div class="price">5</div>

<强> JS:

var total = 0;
$( ".price" ).each(function() {
    total += parseInt($(this).text());
});
console.log(total);

<强> Working Demo

不推荐这样做,但您可以使用attribute-value来定位具有相同ID的元素:

var total = 0;
$( "[id=price]" ).each(function() {
  total += parseInt($(this).text());
});
console.log(total);

<强> Demo with attribute-value

答案 1 :(得分:0)

首先,给所有这些div提供相同id的做法是不好的。你应该给他们每个人一个类,并尝试这样的事情:

var total = 0;
$('.price').each(function(e){
    total += parseInt($(this).text());
});

答案 2 :(得分:0)

//    javascript solution
var div = document.getElementsByTagName("div")
var total = 0;
for(var i=0;i<div.length;i++){
    total+= parseInt(div[i].textContent)

}
alert(total)
相关问题