jQuery脚本只影响我页面中的第一个DIV?
我是jQuery新手,似乎无法让以下代码按我的喜好工作:jQuery脚本只影响我页面中的第一个DIV?,jquery,Jquery,我是jQuery新手,似乎无法让以下代码按我的喜好工作: <script type="text/javascript"> jQuery(document).ready(function($) { $.fn.digits = function(text){ $(this).text(text.replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,") + '€' );
<script type="text/javascript">
jQuery(document).ready(function($) {
$.fn.digits = function(text){
$(this).text(text.replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,") + '€' );
};
var tempText = $.trim($("#price").text());
tempText = tempText.substr(0, parseInt(tempText.length) );
$("#price").digits(tempText);
});
</script>
jQuery(文档).ready(函数($){
$.fn.digits=函数(文本){
$(this.text(text.replace(/(\d)(?=(\d\d\d)+(?!\d))/g,“$1”,”)+“€”);
};
var testext=$.trim($(“#price”).text();
试探文本=试探文本.substr(0,parseInt(试探文本.length));
美元(“#价格”)。数字(文本);
});
它应该将所有价格分割中的数字转换为逗号分隔的货币版本:
1000000=1000000欧元
对于页面上的第一个#price实例,这很好,但如果同一ID在同一页面上出现多次,则脚本不会格式化其余ID
我发现DIV的mus是唯一的,所以我尝试将它改为类(#price to.price),这样做很有效,但现在产生了一个新问题。现在,.price的所有实例都显示在.price的每个实例中—如果这有意义的话
假设我有。价格在一页中3次:
示例1(.price):200000
例2(.price):250000
例3(.price):300000
应显示:
20万欧元
250000欧元
300000欧元
相反,它给了我:
200000欧元250000欧元300000欧元
200000欧元250000欧元300000欧元
200000欧元250000欧元300000欧元
为什么会这样,我该如何修复它
谢谢 如果要影响多个元素,请使用类引用而不是div 换行
$("#price").digits(tempText);
到
由于类用于收集元素,而div用于一次只引用一个项。。。因此它只获取第一个div
记住,当使用$('.price')时,必须使用循环,而不是。。因为他们是很多人。。所以你的代码变成了
$.each('.price', function(o, v){
var tempText = $.trim($(this).text());
tempText = tempText.substr(0, parseInt(tempText.length) );
$(this).digits(tempText);
});
在一切平等的情况下,这应该是可行的 如果要影响多个元素,请使用类引用而不是div 换行
$("#price").digits(tempText);
到
由于类用于收集元素,而div用于一次只引用一个项。。。因此它只获取第一个div
记住,当使用$('.price')时,必须使用循环,而不是。。因为他们是很多人。。所以你的代码变成了
$.each('.price', function(o, v){
var tempText = $.trim($(this).text());
tempText = tempText.substr(0, parseInt(tempText.length) );
$(this).digits(tempText);
});
在一切平等的情况下,这应该是可行的 你也可以发布相关的HTML吗?谢谢。可能重复的Id在页面中是唯一的,所以它只适用于第一个匹配的Id。请使用类选择器或您还可以发布相关的HTML吗?谢谢。可能重复的Id在页面中是唯一的,所以它只适用于第一个匹配的Id。请使用类选择器