2016-07-06 4 views
0

Я хочу получить теги alt каждого изображения внутри div и перечислить их в <ul><li>, но я не хочу повторять alts. Например, если 2 imgs имеют alt "example1", я хочу, чтобы он отображался только один раз на моем <ul><li>.Получить все теги ALT

Мой текущий код:

JS

$('.img-produto > img').each(function(){ 
    $('.filters').append('<li>'+ $(this).attr('alt') +'</li>'); 
}); 

HTML

<ul class="filters"></ul> 
<div class="img-produto"> 
<img src="img link" alt="example1" /> 
<img src="img link" alt="example1" /> 
</div> 

Спасибо!

ответ

1

Необходимо создать коллекцию уникальных значений альта и убедитесь, что перед добавлением ничего

var alts = {}; 
$('.img-produto > img').each(function(){ 
    var alt = $(this).attr('alt'); 
    if(!alts[alt]){ 
     alts[alt] = true; 
     $('.filters').append('<li>'+ alt +'</li>'); 
    }  
}); 
+0

Спасибо так много! :) –