2014-02-19 5 views
0

Как я могу сделать многомерный массив со структурой, как эта для каждого Ли с классом sl-item:JQuery создать многомерный массив из нескольких элементов

$imagesList = [ 
    [1, 123, "<img src=\"/img-src/123.jpg \" />", "/photo/img-123", "image-alt "], 
    [2, 452, "<img src=\"/img-src/452.jpg \" />", "/photo/img-452", "image-alt "], 
]; 

Сначала должна быть только число массива, 1,2,3 ... , вторая часть - id элемента li, в-третьих, img с img src, четвертый - URL от a с классом photo-url, а пятый - img alt. Моя структура выглядит следующим образом:

<ul class=”sl-img”> 
    <li id=”123” class=”sl-item”> 
     <a class=”photo-url” href=”/photo/img-123”> 
      <img alt=”image-alt” src=”/img-src/123.jpg” > 
     </a> 
    </li> 
    <li id=”452” class=”sl-item”> 
     <a class=”photo-url” href=”/photo/img-452”> 
      <img alt=”image-alt” src=”/img-src/452.jpg” > 
     </a> 
    </li> 
    ..... 
</ul> 
+0

Зачем вам нужен номер в массиве? не покрывается индексом в массиве? –

+0

Да, он покрыт индексом, вы правы, что можно оставить без внимания. – user2406735

ответ

1

Нечто подобное возможно?

var result = []; 

$('li').each(function(i){ 
    var $img = $(this).find('img'); 
    result.push([i+1, this.id, $img[0], $img.prop('src'), $img.prop('alt')]); 
}); 

console.log(result); 

Я попытался с map() на первый, но, кажется, сглаживаются массив.

http://jsfiddle.net/EX6Dt/

Смежные вопросы