2

結果をループして各数値文字列をフォーマットする方法。最初の結果は正しくフォーマットされていますが、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 はこれを 1 つの項目として扱うため、反復によって得られる結果は 1 つだけです。

多分次のようなものを試してください:

$('.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 に答える