2010-12-03 5 views
2

que je suis ce tutoriel Drag Drop Inventory in JqueryJQuery appendTo Titre attribut

et je vais avoir un problème. Dans la démo qui accompagne le tutoriel, l'auteur utilise ce code:

item.attr('src',drag_item.attr('src')).attr('class',drag_item.attr('class')).appendTo(spot).draggable({ revert: 'invalid' }); 

Bien que cela fonctionne très bien à recréer l'élément img, il ne copie pas l'attribut title (je veux copier ce parce qu'il est important pour mes infobulles).

J'ai changé ce code comme:

item.attr('title',drag_item.attr('title')).attr('src',drag_item.attr('src')).attr('class',drag_item.attr('class')).appendTo(spot).draggable({ revert: 'invalid' }); 

qui devrait fonctionner je pense, mais il ne fonctionne pas. Quand je change drag_item.attr ('title') en quelque chose de statique comme "bonjour", cela fonctionne, mais la fonction attr ne retourne pas le titre.

Mon html est comme:

<div id="inventory" style="width:300px; height:150px; margin:10px; padding:15px; border:1px solid black; display:block; clear:both;"> 
<% @inv_items.each do |i| %> 
    <% w = Weapon.find_by_id(i.item_id) %> 

     <img class='weapons' src= "/images/weapons/<%=h w.imageName %>" title="<%= setWeaponTitleForTooltip(w, i) %>" /> 
<% end %> 
</div> 

Le html est en fait un modèle de erb. Avez-vous une idée de pourquoi cela arrive?

Répondre

1

Votre code semble bien. working demo c'est-à-dire dérivé de l'exemple donné dans le lien ci-dessus. Il copie également l'attribut title.

+0

C'est vraiment bizarre:/Peut-être que c'est quelque chose lié aux infobulles de jquery ou à certains rails? Je regarde de plus près. Je marque votre question comme correcte, parce que l'exemple fonctionne. Thanx;) – Spyros

3

Utilisez-vous Firebug ou un autre débogueur pour voir s'il y a des erreurs? Le code semble bon, mais je ne peux pas imaginer le code HTML résultant de votre erb-template. Peut-être que l'attribut-titre résultant de vos tags d'image est vide.

+0

hey Patrick, merci pour la réponse. Oui, j'utilise firebug et il n'y a pas d'erreur. Cependant, il refuse d'attraper le titre. Je vérifie réellement la source générée, et après l'appendTo, le nouvel élément est comme: . C'est-à-dire, pas de titre attaché:/ – Spyros

+0

Donc c'est un problème dans le erb-template. Je ne sais pas erb, mais il me semble que vous avez une sorte de for-each-loop là-bas et que vous essayez d'accéder à la variable w dans la boucle en demandant index i à partir de la boucle avec setWeaponTitleForTooltip (w, i) - qui fonctionnerait probablement en dehors de la boucle, mais pas à l'intérieur. Quelle sortie donne setWeaponTitleForTooltip (inv_items, i) - peut-être que cela fonctionne. – Patrick