20

このサムネイル リストがあり、画像パス (ソース) を配列にプッシュしたいと考えています: tn_array

<ul id="thumbnails">
    <li><img src="somepath/tn/004.jpg" alt="fourth caption" /></a></li>
    <li><img src="somepath/tn/005.jpg" alt="fifth caption" /></a></li>
    <li><img src="somepath/tn/006.jpg" alt="sixth caption" /></a></li>
</ul>
4

2 に答える 2

48

次を使用して、より直接的に src 属性の配列を作成できますmap()

var tn_array = $("#thumbnails img").map(function() {
  return $(this).attr("src");
});

編集: tn_arrayここでは、厳密な Javascript 配列ではなくオブジェクトですが、配列として機能します。たとえば、これは合法的なコードです。

for (int i=0; i<tn_array.length; i++) {
  alert(tn_array[i]);
}

ただしget()、 を呼び出すと、厳密な配列になります。

var tn_array = $("#thumbnails img").map(function() {
  return $(this).attr("src");
}).get();

どうやって違いを見分けるのですか?電話:

alert(obj.constructor.toString());

最初のバージョンは次のとおりです。

function Object() { [native code] }

二番目:

function Array() { [native code] }
于 2010-03-01T10:11:23.853 に答える
5

これまでの要素をループできますimg

var tn_array = Array();

$('#thumbnails img').each(function() {
    tn_array.push($(this).attr('src'));
});
于 2010-03-01T10:13:09.113 に答える