2009-08-16 4 views
0

J'ai des maux de tête en essayant de faire ce travail: J'ai un < un élément > avec un fond- image définie avec style = "" attribut et j'ai mis une fonction pour ajouter à l'intérieur < un élément > un <span> gérer différentes positions d'arrière-plan pour: effets de survol avec des changements d'opacité. La chose est, je dois obtenir le même attribut de style de chaque < un élément > à chaque enfant < durée > mais seule la première image d'arrière-plan est copié sur tous les < portée > éléments, même en utilisant $ ("span.hover"). parent(). attr ("style") comme sélecteur!jQuery - .each() renvoyant uniquement les attributs du premier élément, besoin de stocker chaque attribut d'élément et d'utiliser dans chaque élément enfant

http://pastebin.me/ac4cc52af64f6e831366ca61c7bbe63b

Ci-dessus vous pouvez voir comment il ressemble et voir que c'est pas fonctionne correctement.

+0

Omg, merci beaucoup Greg! J'ai passé toute la nuit à comprendre cela et j'étais sur le point d'abandonner! Merci! – Samuel

+0

J'ai opté pour le script et supprimé quelques lignes, maintenant cela fonctionne vite et IE8 est le rendu correctement - http://pastebin.me/c421b31f354f6630dd71cc5dff95665d – Samuel

Répondre

4

Ce:

var $ans = $("span.hover").parent().attr("style"); 

devrait être

var $ans = $(this).parent().attr("style"); 

Vous êtes à nouveau obtenir toutes les portées à chaque fois, ce qui vous donne le premier.

Testé & fonctionne.

+0

C'est l'une des erreurs les plus courantes que font les gens avec 'each'. – MitMaro

Questions connexes