11545 sujets

JavaScript, DOM et API Web HTML5

Bonjour.

Je bloque sur un point, dont la solution doit être bête comme choux.

Voulez m'excuser si cette question apparait déjà dans le forum, mais les mots qui la composent sont tellement courants que je ne tombe que sur des tutoriels qui expliquent le fonctionnement des fonctions .html() et .text(). Et ce n'est pas ce que je cherche.

J'ai récupéré une liste d'images avec :
var ma_liste = $(".une_class img").get();

Je voudrais récupérer dans une chaine de caractère le code HTML correspondant à chacun des éléments de ma_liste.
Soit quelque chose de la forme :
[<img src="img/une_image.jpg" alt="un_titre">, <img src="img/une_autre_image.jpg" alt="un_autre_titre">]

Bien évidemment, les fonctions .html() et .text() renvoient de chaine vide, car elle interprète le contenu de l'objet et non pas l'objet lui-même.

Ironiquement, le code suivant affiche ce que je veux dans la console. Ce qui ne m'avance pas a grand-chose.
for (i in ma_liste) {
   console.debug(ma_liste[i]);
}


En vous remerciant par avance pour le temps de cerveau disponible que vous m’accordez.

Cordialement.[/i]
Modifié par flyingsirkus (01 Aug 2012 - 12:32)
var ma_liste = $(".une_class img").get();


Renvoie un array avec une seule ligne. Récupère la ligne :

var ma_liste = $(".une_class img").get().shift();
jb_gfx a écrit :
&quot;ma_liste&quot; contient déjà ce que tu veux. Du coup je ne comprend pas vraiment ta question.


Non, ma_list est une liste d'objets jQuery.
Je voudrais une liste de balises HTML de type String.

Merci.
Vaxilart a écrit :
var ma_liste = $(&quot;.une_class img&quot;).get();


Renvoie un array avec une seule ligne.


Cela dépend du nombre d'images dans le ou les l'élément (s) ayant la class « une_class ».

Vaxilart a écrit :
Récupère la ligne :

var ma_liste = $(&quot;.une_class img&quot;).get().shift();


Ce code renvoie le premier objet d'une liste.
Quel est l'intérêt de faire une liste pour n'en récupérer que le premier objet ?

De toute façon le problème n'est pas là.

Je voudrais une liste de balises HTML de type String. Et non pas une liste d'objets jQuery.

Merci.
flyingsirkus a écrit :

Je voudrais une liste de balises HTML de type String. Et non pas une liste d'objets jQuery.


Tu récupères pas du tout des objets jQuery mais des objets HTMLImageElement. Si tu veux juste les afficher :

alert(ma_liste[0].outerHTML);

Edit: grillé.
Modifié par jb_gfx (01 Aug 2012 - 18:43)
youpie. Smiley biggrin

« outerHTML » ! Je savais bien que c'était idiot comme problème.

Cet attribut n'est pas mentionné dans ma référence préférée (devguru.com). En avez-vous une autre à me conseiller ? Smiley confused

Merci pour cette réponse.

Cordialement.
Modifié par flyingsirkus (01 Aug 2012 - 19:23)