11544 sujets

JavaScript, DOM et API Web HTML5

Bonsoir,

J'aurais besoin d'une petite aide. J'essai de passer la variable i du each() à un eq() sans y parvenir.

Pour m'expliquer, voici le bout de code :


$("#appercuProduitPhotos li").click(function(){
				event.preventDefault();				
				var imageLink = $(this).find('a').attr("href");				
				$(".browseAffichageProduit div").each(function(i){	
					var imageSource = $(".browseAffichageProduit").eq(i).find('img');
					imageSource.attr({src: imageLink});							
				});
			});


J'ai essayer comme pour un selecteur
eq(" + i + ")
mais rien à faire.
Par contre si je spécifie une valeur à la main, eq(1) celà fonctionne très bien.

Si quelqu'un à une idée, je suis preneur. Merci à vous Smiley cligne !
Modifié par hype (01 Jul 2010 - 16:52)
Bonjour,

Je ne comprend pas pourquoi tu utilise la fonction eq() dans ce cas.

Essaye ce code :


$(".browseAffichageProduit div").each(function(){
  var imageSource = $(this).find('img');
  imageSource.attr({src: imageLink});
}); 

Modifié par ggouhier (01 Jul 2010 - 16:05)
Il me semble que ceci devrait fonctionner sans rien changer ? :

$(imageSource).attr({src: imageLink});


Edit, je crois avoir dis un bêtise !
Modifié par Super_baloo8 (01 Jul 2010 - 16:07)
En faite, ma div principale est dupliquer.

Voilà un screen du rendu html : http://img267.imageshack.us/img267/6018/screenforjquery.jpg

Je souhaite connaitre la position de la div pour change uniquement le fond de la div en cours, et non toutes les div.
Lorsque je spécifie une position manuellement à l'eq, exemple eq(0), y'a aucun soucis, seul la première div va intéragir
Je viens trouver la réponse en postant sur le forum de jQuery.
J'ai encore tous à fait compris la fonction utilisé, mais voici le code :

$("#appercu-produit-photos a").click(function(e){ 
				  e.preventDefault();
				  var thisHref = $(this).attr('href');
				  $(this).closest('.browse-affichage-produit').find('img').attr('src',thisHref);
			});



Avec la doc de la function: http://api.jquery.com/closest/