Rappelez-vous que l'événement click
que vous avez attribué ne fonctionne pas jusqu'à ce que vous cliquez en fait un <img>
, afin d'essayer d'obtenir un image avec la classe .bob
avant que des événements de clic se soient produits sur les éléments <img>
résultera 0 éléments correspondants (à moins que vous ayez .bob
affecté à l'un des éléments <img>
avant le chargement de la page.)
Vous devez récupérer le 'id' à l'intérieur le gestionnaire de clic du bouton.
En outre, vous pouvez rendre votre code un peu plus efficace en mettant en cache les éléments <img>
trouvés (tant que vous n'en ajoutez pas dynamiquement après le chargement de la page).
var $img = $('img').click(function() {
$img.not(this).removeClass('bob');
$(this).addClass('bob');
});
$('div.button').click(function() {
var test = $img.filter('.bob').attr('id');
alert(test);
});
Si vous souhaitez ajouter dynamiquement des images, vous n'avez pas besoin de les mettre en cache. ..
$('img').click(function() {
$('img').not(this).removeClass('bob');
$(this).addClass('bob');
});
$('div.button').click(function() {
var test = $('img.bob').attr('id');
alert(test);
});
pour commencer, vous voulez deviner '$ ('img.bob') attr ('id')' –
fait: '$ ('div.button') cliquez sur (function() {alert ($ ('img.bob'). attr ('id'));}); 'travail? –