2010-12-03 118 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