41 votes

jQuery sélectionne les attributs dans un tableau

Quelle est la façon la plus élégante d'obtenir ce tableau

 [10, 20, 30, 40, 50]

hors de cette liste

 <ul>  
    <li value="10">Item One</li>
    <li value="20">Item Two</li>
    <li value="30">Item three</li>
    <li value="40">Item Four</li>
    <li value="50">Item Five</li>
</ul>

en utilisant jQuery.

33voto

natedavisolds Points 2928

Je pense que cette carte fonctionne très bien... mais pas dans la chaîne.

 var vals = $.map($("li[value]"), function(li) {
    return $(li).attr("value");
});

8voto

John Green Points 7331
var outVal = [];
$('ul li').each(function(idx, el){
    outVal.push($(this).attr('value'));
});

5voto

Nicolas Buduroi Points 2558

En parlant de code élégant, nous pouvons obtenir une meilleure solution en utilisant Underscore en combinaison avec jQuery :

 _($('ul li').toArray()).map(function(e) { return e.value })

Et pendant que nous y sommes, pourquoi ne pas vider Javascript pour CoffeeScript :

 _($('ul li').toArray()).map (e) -> e.value

;-)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X