2010-03-24 6 views
2

J'ai la commande jQuery suivante dans laquelle je souhaite afficher une liste d'images. Le problème est que je ne peux pas obtenir 'ceci' pour trouver la source. Il s'agit actuellement d'un objet qui est affiché en tant que HTMLImageElement. Comment puis-je obtenir la source d'image de cet objet?Obtention de la source d'image à partir d'un objet HTMLImageElement

$("#imgs li.images img").each(function(i) { 
    $("#list").append("<li><img src=\""+this.attr("src")+"\" /></li>"); 
}); 

Je reçois actuellement l'erreur que this.attr n'est pas une fonction.

Répondre

12

this est le DOMNode, pas un objet jQuery. Vous pouvez accéder immédiatement à this.src ou, si vous voulez utiliser jQuery, $(this).attr('src'), bien que ce soit un détour pour faire la même chose.

+0

arrgh pensé que c'était quelque chose de petit que je donnais sur. – corymathews

+1

NB: les deux méthodes ne sont pas équivalentes. Alors que la méthode jQuery fait 'this.getAttribute ('src')' et obtient ainsi l'attribut tel que donné dans le balisage, 'this.src' est traité et généralement une adresse (r) absolue (avec protocole, domaine, etc.) – kubi

2

Utilisez $(this) au lieu de this.

0

Le problème est votre utilisation de 'ceci'. C'est un mot-clé spécial utilisé dans la programmation orientée objet pour se référer à un objet propre propriétés

Questions connexes