このサムネイルリストがあり、画像パス(ソース)を配列にプッシュしたい: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>
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] }
_
img
要素をループできます。
var tn_array = Array();
$('#thumbnails img').each(function() {
tn_array.Push($(this).attr('src'));
});