2010-12-03 133 views
2

我正在關注本教程Drag Drop Inventory in JqueryJQuery AppendTo Title屬性

我遇到了問題。列在本教程中的演示,筆者使用此代碼:

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

雖然這部作品在重新創建img元素偉大的,它不會複製標題屬性(我想複製,因爲這是對我的提示很重要)。

我改變了這種代碼,如:

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

應該工作,我想,但事實並非如此。當我將drag_item.attr('title')更改爲「hello」之類的靜態內容時,它可以工作,但attr函數不返回標題。

我的HTML是這樣的:

<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> 

的HTML實際上是ERB模板。你有什麼想法爲什麼發生這種情況?

回答

1

你的代碼似乎很好。 working demo,即從以上鍊接中給出的示例導出。這也是複製標題屬性。

3

你使用Firebug或其他調試器來查看是否有任何錯誤?代碼看起來不錯,但我無法想象你的erb模板產生的HTML。也許圖像標籤的結果標題屬性是空的。

+0

嘿帕特里克,thanx的答覆。是的,我使用的是螢火蟲,實際上沒有錯誤。但是,它拒絕抓住標題。我實際上檢查生成的源,並在appendTo後,新的元素是:。也就是說,沒有附加標題:/ – Spyros 2010-12-03 07:32:59

+0

所以這是erb-template中的一個問題。我不知道erb,但它在我看來,如果你有某種for-each-loop那裏,並嘗試訪問循環內的w-變量,從setWeaponTitleForTooltip(w,i ) - 最有可能在循環外工作,但不在裏面。 什麼輸出給setWeaponTitleForTooltip(inv_items,i) - 也許這是有效的。 – Patrick 2010-12-06 02:31:57