1

jquery の .each() 関数を使用して、オブジェクト内のキーと値のペアをページに書き込もうとしています。ただし、最後のキーと値のペアを書き出すことしかできません。

フィドルとコードは次のとおりです。

http://jsfiddle.net/Nirvanachain/2RsN9/

JS:

var defaults = {
 validate: false, 
 limit: 5, 
 name: "foo"   
};

$.each(defaults, function(key, value) {
  $('p').text(key + ' : ' + value);
});

HTML:

<p></p>
4

3 に答える 3

4

.text()要素のコンテンツを上書きするため、最後の反復で起こったことになります。.append()代わりに試してください:

http://jsfiddle.net/ZjwWn/

$.each(defaults, function(key, value) {
    $('p').append(key + ' : ' + value + '<br/>');
});

編集 - リカルドのコメントは正しいです。最高のパフォーマンスを得るには、DOM の変更はできるだけ少なくしてください。この場合、テキストを追加する変数を作成し、それを DOM に一度追加する必要があります。

于 2013-11-13T18:24:03.307 に答える