javascript - 让 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 中做到这一点?
谢谢!
解决方案
如果您的所有课程都以您开头,.pricetag
则可以尝试使用attribute-starts-with 选择器。
$("[class^='pricetag']").digits(tempText);
推荐阅读
- snmp - SNMP - MIB 层次结构 - 每个层次结构的含义以及如何创建新的 MIB
- r - 如何根据另一个变量的值有条件地更改变量的值?
- xpath - Spring 集成 XPathMessageSplitter + HeadEnricher
- javascript - 如何对数组列表项进行分类
- c# - 对象类型 System.Windows.Forms.DateTimePicker 不存在映射
- python - 有没有办法将 2 个数据帧相互映射以生成重新排列的数据帧(一个数据帧值充当新的列名)?
- java - 在 Java 中增加主题的分区数
- sql - 仅打印最后一个值的自定义订单
- r - 计算包含单词的行数
- angular - 将 Observable 传递给 RXJS 中的兄弟组件