2010-06-15 81 views
0

我有这个代码,我试图改变on.hover的ID。

<span id="slidingProd"> 
    <a href="{link controller=order action=addToCart id=$product.ID returnPath=true}" rel="nofollow" class="addToCart" title="Bestill" 
    onclick="addToBasket(); return false;" id="fly_to_basket">&nbsp;</a> 
</span> 

我试过使用这个jQuery,但它不改变ID。

$(function() { 
    $("#fly_to_basket").hover(function() { 
     $(this).parent().attr("id",slidingprod(1)); 

}); 
    $("#fly_to_basket").hover(function() { 
     $(this).attr("onclick",addToBasket(1)); 
}); 

我在做什么错?

谢谢:)

+0

是什么'slidingprod(1)'返回? – Skilldrick 2010-06-15 11:15:32

+0

我只需要将id从'slidingprod'改为'slidingprod(1)' – Kyle 2010-06-15 11:16:53

+1

'slidingprod(1)'返回什么?你有什么错误吗?有没有你想改变'id'属性的具体原因,这看起来有点不正统。 – 2010-06-15 11:16:53

回答

2

展望由您的评论

我只需要标识从slidingprod改变slidingprod(1)

  1. 括号是无效字符为ID字符串。 http://www.w3.org/TR/html401/types.html#type-name

    ID和名称标记必须以字母开头([A-ZA-Z])和之后可以是任何数量的字母,数字([0-9]),连字符( “ - ” ),下划线(“_”),冒号(“:”)和句点(“。”)。

  2. 您没有在字符串中附加新的ID。

例如:

$(this).parent().attr("id","slidingprod-1"); 
+0

我认为这可能就是它......如果你没有把新的ID包含在一个字符串中,那么它被解析为JavaScript,而JavaScript中的'slidingprod(1)'意味着“用参数1调用slidingprod()函数”。 – Skilldrick 2010-06-15 11:20:39

+0

我认为这种解决方案将不起作用,那么如果我不能像'Botondus'说的那样使用括号作为简单替换。感谢您清理我的jQuery代码。那么我不知道如何实现这一点。 – Kyle 2010-06-15 11:22:54

2

$(本)......不是$( “本”)

+0

Duh ..谢谢,这是我猜的一个问题,但它仍然不会改变ID。 – Kyle 2010-06-15 11:15:16

0

是否与报价$("this")工作?我认为$(this)更好。

无论如何,我不喜欢在运行时更改ID。似乎凌乱...