2

如何遍历我的结果并格式化每个数字字符串。第一个结果的格式正确,但不是第二个结果或第一个结果之后的任何结果。

 $('#phoneResults').each(function(){              
     //Only the first result is being altered! Ugh.
     var string = $(this).html();
     $(this).html(string.substring(0,3) + '.' + string.substring(3,6) + '.' + string.substring(6,10))     
 });
4

2 回答 2

6

可能是因为#引用了一个元素 ID,按照惯例,它是唯一的。jQuery 会将其视为单个项目,因此迭代只会产生单个结果。

也许尝试类似:

$('.phoneResults').each(function() { 
    // your code here 
});
于 2012-11-28T21:25:50.640 回答
1

问题是您使用的是重复的 id #phoneresults。ID 必须是唯一的。当您的选择器运行时,它会查找具有 ID 的第一个元素,然后停止,因为不应有任何其他具有该 ID 的元素。所以你的each()函数没有在多个元素上运行。

将此作为一个类并将您的选择器更改为.phoneresults,您应该一切顺利。

于 2012-11-28T21:26:42.150 回答