jQuery get img source attributes from list and push into array

I have this thumbnail list and would like push the image paths (sources) into an array: 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>

Answers


You can create the array of src attributes more directly using map():

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

Edit: tn_array is an object here rather than a strict Javascript array but it will act as an array. For example, this is legal code:

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

You can however call get(), which will make it a strict array:

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

How do you tell the difference? Call:

alert(obj.constructor.toString());

The first version will be:

function Object() { [native code] }

The second:

function Array() { [native code] }

You can loop through ever img element:

var tn_array = Array();

$('#thumbnails img').each(function() {
    tn_array.push($(this).attr('src'));
});

Need Your Help

Left OuterJoin in Entity/Linq

sql linq entity-framework asp.net-mvc-4 razor

So I am deeply confused. I have two tables, one is locations assignments which consists of: location id, type and type id. I also have a table called services, which consists of name, id , descript...

Javascript write file without overwrite

javascript firefox filestream xpcom imacros

I am using XPCOM to read/write file(s) on my hard drive (since Java is no longer supported on FF16,17,18,+ I have to use this). I use it in my FireFox extension(s) (I use iMacros). On this document...

About UNIX Resources Network

Original, collect and organize Developers related documents, information and materials, contains jQuery, Html, CSS, MySQL, .NET, ASP.NET, SQL, objective-c, iPhone, Ruby on Rails, C, SQL Server, Ruby, Arrays, Regex, ASP.NET MVC, WPF, XML, Ajax, DataBase, and so on.