2010-06-15 84 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。似乎凌亂...