Jquery Can';t将函数应用于每个元素

Jquery Can';t将函数应用于每个元素,jquery,each,Jquery,Each,我无法使用此代码对页面上的每个#sum应用函数: $(document).ready(function() { $('#sum').each(function(index, element) { var sum = $(this).html(); $(element).html(number_format(sum, 2, ',', ' ')); console.log(element); }); }); functi

我无法使用此代码对页面上的每个
#sum
应用函数:

$(document).ready(function() {


    $('#sum').each(function(index, element) {
        var sum = $(this).html();
        $(element).html(number_format(sum, 2, ',', ' '));

        console.log(element);
    });


});



function number_format(f,c,h,e){f=(f+"").replace(/[^0-9+\-Ee.]/g,"");var b=!isFinite(+f)?0:+f,a=!isFinite(+c)?0:Math.abs(c),j=(typeof e==="undefined")?",":e,d=(typeof h==="undefined")?".":h,i="",g=function(o,m){var l=Math.pow(10,m);return""+Math.round(o*l)/l};i=(a?g(b,a):""+Math.round(b)).split(".");if(i[0].length>3){i[0]=i[0].replace(/\B(?=(?:\d{3})+(?!\d))/g,j)}if((i[1]||"").length<a){i[1]=i[1]||"";i[1]+=new Array(a-i[1].length+1).join("0")}return i.join(d)};
$(文档).ready(函数(){
$('#sum')。每个(函数(索引,元素){
var sum=$(this.html();
$(element).html(数字_格式(总和,2,',','');
控制台日志(元素);
});
});

(f)替换([0-0-9+-Ee.),,,,替换([0-9-9+-Ee.),,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;var b=!b,,,,,,,,,,,,,,,,,(b,,,,,,,,,,(b,,,,,,,,,,,,,!函数(o)函数(o,,(o,,(o,,(o,m)函数(o,o,o,m)函数(o,(o,o,m)函数(o,o,o,o,o,m)函数(o,o,m)(o,o,o,m)函数(o,o,m)(o,o,m)函数[0]=i[0]。替换(/\b(?=(?:\d{3} )+(?!\d))/g,j)}if((i[1]| |“”).length

您正在使用
id
选择器。将其更新为
class
选择器

加价

First: <span class="sum">4326544</span><br>
Second: <span class="sum">654654</span><br>
Last: <span class="sum">43264</span>

更新的fiddle-

不要在多个元素上使用相同的id。请改用类

$(文档).ready(函数(){
$('.sum')。每个(函数(索引,元素){
var sum=$(this.html();
$(element).html(数字_格式(总和,2,',','');
控制台日志(元素);
});
});
函数编号\u格式(f、c、h、e){
f=(f+)。替换(/[^0-9+\-Ee.]/g,”);
变量b=!isFinite(+f)?0:+f,
a=!isFinite(+c)?0:Math.abs(c),
j=(e的类型==“未定义”)?,“:e,
d=(h的类型==“未定义”)?“:h,
i=“”,
g=函数(o,m){
var l=数学功率(10,m);
返回“”+数学四舍五入(o*l)/l
};
i=(a?g(b,a):“+数学圆(b)).split(“.”);
如果(i[0]。长度>3){
i[0]=i[0].替换(/\B(?=(?:\d{3})+(?!\d))/g,j)
}
if((i[1]| |“”).length

第一:4326544

第二:654654

最后:43264
并不是说这是一个好的做法,但是如果您没有任何其他选项,只能通过id获取元素,并且id在整个HTML中都是重复的,那么您可以执行以下操作:

$(“#sum”)
将仅返回id为sum的第一个实例

$('[id=“sum”]”)
将返回一个包含所有匹配项的数组,每个匹配项都将使用该id,因为它现在是一个元素数组


不过,使用名称或指定类并以这种方式应用选择器要好得多。

页面上应该只有一个“和”。ID是唯一标识符,这是一个意外的结果。请改用Calss。@YotamOmer非常正确。谢谢!非常感谢。您和另外两位都有正确的答案,但您的答案又短又简洁。我将因此,我将尽快接受你的答复
$('.sum').each(function(index, element) {