从标签中获取值并在jQuery中添加它们

时间:2015-11-19 11:52:18

标签: javascript jquery

我想从类标价中获取标签中的所有值,并使用jQuery添加它们。现在实际的网页是不同的,但要理解这个概念我只在这里放最少的代码。价格有3个标签,总共有1个标签:

<label class="price">120</label>
<label class="price">250</label>
<label class="price">342</label>
<label id="total"></label>

我读到可以使用.each()但我无法理解如何将其用于此目的。 我已经在这里上传了jsfiddle http://jsfiddle.net/vivpad/cysjtrh8/1/

5 个答案:

答案 0 :(得分:2)

基本示例

jQuery(document).ready(function($){
    var total = 0;
    $('label.price').each(function(){
        var value = parseFloat($(this).text());
        total += value;
    });
    $('#total').text(total);
});

DEMO

答案 1 :(得分:2)

您可以获得总价格映射.price元素文字:

jQuery(document).ready(function ($) {
    $('#total').text(function () {
        return $('.price').map(function () {
            return +$(this).text()
        }).get().reduce(function (pv, cv) {
            return pv + cv;
        }, 0);
    });
});

-jsFiddle-

答案 2 :(得分:1)

请注意,您需要将jquery添加到jsfiddle。

此外 - 您不需要使用.each - 您也可以使用数组。这简化了它并且效率更高。见这里:http://jsfiddle.net/vivpad/cysjtrh8/9

NSUserDefaults

答案 3 :(得分:1)

试试这个:

jQuery(document).ready(function($){
    var total = 0;
    $('.price').each(function() {
        var temp = $(this).html();
        total += parseFloat(temp);
    });
    $('#total').html(total);
});

JsFiddle

答案 4 :(得分:0)

尝试:

var labelvalues = $('label').map(function () {
     return $(this).text();
 }).get();
 var total = 0;
 for (var i = 0; i < labelvalues.length; i++) {
     total += labelvalues[i] << 0;
 }
 $("#total").text(total);

DEMO

这里我使用map函数将所有项目翻译成新的项目数组。并添加数组中的元素。