2010-02-02 5 views
2

Si j'ai 5 boîtes d'entrée avec la classe .inputBox, ma fonction jquery ajoute ces étiquettes 5 fois après chacune des lignes .inputBox. Pourquoi donc?jquery .each fonction

Je veux juste que chacune de ces étiquettes soit insérée une fois après chaque .inputBox.

Quelqu'un sait-il comment faire?

function addImages() {   

    $(".inputBox").each(function() { 

      $('.inputBox').after("<img src=\"Images/thumbs_up_48.png\" class=\"thumbV\" id=\"up\" />"); 
      $('.inputBox').after("<img src=\"Images/thumbs_down_48.png\" class=\"thumbV\" id=\"down\" />"); 
    }); 
} 

le code html

<label for="FirstName">First Name</label> 
<input type="text" class="inputBox" name="FirstName" title="First Name Here" id="firstName" /> 

Répondre

1

Utilisation:

$(this).after("<img src=\"Images/thumbs_up_48.png\" class=\"thumbV\" id=\"up\" />"); 
$(this).after("<img src=\"Images/thumbs_down_48.png\" class=\"thumbV\" id=\"down\" />"); 

$ ('inputBox') itérera à travers toute DOM chaque fois que vous l'appelez.

Une façon encore meilleure serait

$(".inputBox") 
     .after("<img src=\"Images/thumbs_up_48.png\" class=\"thumbV\" id=\"up\" />") 
     .after("<img src=\"Images/thumbs_down_48.png\" class=\"thumbV\" id=\"down\" />"); 

Et ne pas oublier de « accepter » une réponse qui fonctionne pour vous.

+0

Aucune des réponses n'a fonctionné dans mon autre publication. J'ai trouvé la fonction .each et essayé cela et votre réponse a fonctionné. Merci! – Catfish

0

Vous pouvez tout simplement perdre le chacun et il suffit d'utiliser

$('.inputBox').after("<img src=\"Images/thumbs_up_48.png\" class=\"thumbV\" id=\"up\" />"); 
$('.inputBox').after("<img src=\"Images/thumbs_down_48.png\" class=\"thumbV\" id=\"down\" />"); 
+0

Désolé les gars. J'ai laissé un morceau pour une lisibilité plus facile. J'ai besoin du .each parce que j'utilise $ ('inputBox'). Each (fonction (index) et j'utilise la valeur de l'index ajoutée à l'id de haut en bas donc ce serait up + index et down + index. – Catfish

0

Vous n'avez pas besoin probablement le each, pensez-vous? Basé sur votre code et correctif proposé par patrick, je pense que vous pouvez simplement utiliser votre code d'origine sans l'appel each().