11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour a tous donc mon problème est que je voudrais récupérer les valeurs de chaque ligne avec jquery

<img class="invalid" alt="" value="1">
<img class="invalid" alt="" value="2">
<img class="invalid" alt="" value="6">



J'arrive a récupérer une seul valeur avec cette ligne , mais comment faire pour toutes les récupérer ?


var val = $('img.invalid').attr("value");
alert(val);


Merci de votre aide
Bonjour,
Selon la DTD, l'attribut value n'existe pas pour les images :
http://dev.w3.org/html5/spec/the-img-element.html#the-img-element

Je te conseille donc de plutôt utiliser un attribut personnalisé : -data-value
<img class="invalid" alt="" -data-value="1">
<img class="invalid" alt="" -data-value="2">
<img class="invalid" alt="" -data-value="6">
Et de faire la somme comme suit :
var val = 0;
$('img.invalid').each(function() {
    val += parseInt($(this).attr("-data-value"));
});
document.body.innerHTML = val;
On a vu plus propre sûrement (je ne suis pas un pro du jQuery) mais ça semble fonctionner...
Modifié par Gothor (02 Jul 2012 - 12:30)
En passant, les attributs data- en HTML 5 s'écrivent "data-XYZ" et pas "-data-XYZ"

Donc, dans cet exemple, il faut plutôt utiliser "data-value".