我有以下html:
<input id="box20" name="rooms[]" value="20" class="box" type="checkbox">
<div>68.00</div> € / night
<input id="box21" name="rooms[]" value="21" checked="checked" class="box" type="checkbox">
<div class="specialprice">68.00</div>€ / night
<input id="box22" name="rooms[]" value="22" class="box" type="checkbox">
<div>155.00</div> € / night
<h4>Total: <div class="newprice"></div></h4>
我想用class specialprice获取div的值,我想在另一个名为newprice的div中显示总和。
我正在尝试使用以下javascript,但到目前为止我收到空白警报:
$(document).ready(function(){
$('.specialprice').each(function() {
x = $('.specialprice').innerHTML;
alert(x);
});
});
如果班级是公正的,我对获得该价值不感兴趣,我想要的是从名为specialprice的div中获取所有价格并从这些值中得到总和。
答案 0 :(得分:2)
您正在警告阵列:
$(document).ready(function(){
$('.specialprice').each(function(i, el) {
x = $(el).html();
alert(x);
});
});
答案 1 :(得分:0)
像这样:
var addPrice;
$('.newprice').text(function(){
return $('.specialprice').each(function(){
addPrice += parseInt($(this).text(),10);
});
});
答案 2 :(得分:0)
您必须使用$(this)
变量来访问当前元素 - Reference to the jQuery API - 否则您将拥有一个集合而不是正确的元素。
var prices = [], sum = 0;
$(document).ready(function(){
$('.specialprice').each(function() {
var currentItem = $(this); // Reference to the current item
prices.push(currentItem.text()); // or .innerHTML, method to get the text
}
prices.forEach(function(entry) {
sum += parseInt(entry); // Otherwise it would be a string Concatenation
}
$('.newprice').text(sum);
});