使用jQuery从网页获取包含数字数据的所有元素?

时间:2013-07-13 07:14:59

标签: javascript jquery

我想知道,有什么方法可以获得包含数字数据的所有元素,即div s span等?我想要做的是获取所有这些,然后使用货币格式化程序jquery插件格式化它们。我现在使用的代码是:

var options = {
    symbol: "",
    decimal: ".",
    thousand: ",",
    precision: 2,
    format: "%s%v"
};

$(".namount").each(function () {
    var formattedNum = accounting.formatMoney($(this).text(), options)
    $(this).html(formattedNum);
});

$(".totalsale").each(function(){
    var formattedNum = accounting.formatMoney($(this).text(), options)
    $(this).html(formattedNum);
});

$(".totalpurchase").each(function(){
    var formattedNum = accounting.formatMoney($(this).text(), options)
    $(this).html(formattedNum);
});    

对于不同的元素,还有4到5个类似的each循环调用。问题是,这样做效率不高。有没有其他方法可以实现这一目标。

由于

2 个答案:

答案 0 :(得分:0)

由于你有一个类选择器,这是最好的方法之一。我只会做更改是使用multiple selector并使用.text()方法更新元素中的值

$(".namount, .totalsale, .totalpurchase").text(function (idx, text) {
    return accounting.formatMoney(text, options)
});

您可以想到的另一个可能的变化是使用父容器元素缩小搜索上下文

答案 1 :(得分:0)

您可以按照建议使用类选择器来执行此操作,也可以使用正则表达式来实现此目的。

参考此

jQuery selector regular expressions