我正在关注本教程Drag Drop Inventory in Jquery
我遇到了问题。在本教程附带的演示中,作者使用以下代码:
item.attr('src',drag_item.attr('src')).attr('class',drag_item.attr('class')).appendTo(spot).draggable({ revert: 'invalid' });
虽然这在重新创建img元素方面效果很好,但它不会复制title属性(我想复制它,因为它对我的工具提示很重要)。
我已将此代码更改为:
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 func不会返回标题。
我的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模板。你知道为什么会这样吗?
答案 0 :(得分:3)
您是否正在使用Firebug或其他调试器来查看是否存在任何错误?代码看起来不错,但我无法想象你的erb-template的HTML。也许图像标记的结果title属性为空。
答案 1 :(得分:1)
您的代码似乎没问题。 working demo
,即从上面链接中给出的例子中得出。它也在复制标题属性。