web-dev-qa-db-ja.com

jQueryはリストからimgソース属性を取得し、配列にプッシュします

このサムネイルリストがあり、画像パス(ソース)を配列にプッシュしたい: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>
20
FFish

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

_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] }
_
48
cletus

img要素をループできます。

var tn_array = Array();

$('#thumbnails img').each(function() {
    tn_array.Push($(this).attr('src'));
});
5
Felix Kling