首页 > 解决方案 > 让 1 个 javascript/函数同时影响多个类 - 如何?

问题描述

我在我的网页上使用以下代码,以格式化某些数字(使用“.pricetag”类),因为我需要在我的前端将它们显示为货币(以千位逗号分隔):

jQuery(document).ready(function($) {
    $.fn.digits = function(text){
        $(this).text(text.replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,") + '€' );
    };
    var tempText = $.trim($(".pricetag").text());
    tempText = tempText.substr(0, parseInt(tempText.length) );
    $(".pricetag").digits(tempText);
});

到目前为止一切都很好 - 代码工作正常,并且可以满足我的需要。

我的问题是我有更多的类,而不仅仅是“.pricetag”类,我想使用该函数。所以现在我已经复制粘贴了代码,只是更改了目标类(“.pricetag_2”等)。

我如何告诉一个版本的 javascript/代码来影响多个类(“.pricetag”和“.pricetag_2”),而不是复制粘贴同一段代码,比如说 10 次,以针对 10 个不同类。

有这么多代码有点矫枉过正,因为每次功能都完全相同。在 CSS 中这很容易,因为您可以一次影响多个类,通过在一段代码中用逗号分隔它们,但是我如何在 javascript 中做到这一点?

谢谢!

标签: javascriptjqueryfunction

解决方案


如果您的所有课程都以您开头,.pricetag则可以尝试使用attribute-starts-with 选择器

$("[class^='pricetag']").digits(tempText);

推荐阅读