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

Getting all the elements containing numeric data from a webpage using jQuery?

本文关键字:数据 元素 数字 包含 jQuery 网页 获取 使用      更新时间:2023-09-26

我想知道,有没有任何方法可以获得所有元素,即包含数字数据的div s span s等我想做的是获取所有它们,然后使用货币格式化程序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循环的类似调用。问题是,这样做不会有效率。我还有其他办法可以做到这一点吗。

感谢

由于您有一个类选择器,这是最好的方法之一。我要做的唯一更改是使用一个多重选择器,并使用.text()方法更新元素中的值

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

您可以想到的另一个可能的更改是使用父容器元素

缩小搜索上下文

您可以按照建议使用类选择器来实现这一点,也可以使用正则表达式来实现。

参考本

jQuery选择器正则表达式