2009-10-24 22 views
1

這段代碼應該使用正確的ID爲span元素「保存」添加一個class屬性。但有些它不這樣做。也許我錯過了一些東西,似乎無法弄清楚。爲什麼我的jQuery代碼無法與動態ID匹配元素?

<script type="text/javascript"> 

jQuery(function($){ 

    $("a[id^='savebook-']").click(function(){ 
    match = this.id.match(/savebook-(\d+)/); 
    savedclass = $("span#saved-"+match[1]) 
    savedclass.addClass("saved"); 
    }); 

}); 
</script> 

使用範例

<li><span class="save"> 
    <a href="#" id="savebook-1" rel="nofollow" class="button">Save Book</a> 
    <span id="saved-1" >&nbsp;&nbsp;&nbsp;</span> 
</span></li> 
+0

我想是<跨度ID = 「保存-1」>       被改變至       溶液地址只給予父母地址 – kazey 2009-10-24 21:12:29

+0

@kazey:對於混淆抱歉 - 不知何故,我錯過了樣本中的第三個元素。除了一些小問題(格雷格指出你可能想要返回false,並且使用局部變量也是明智之舉),你的代碼似乎沒有什麼問題...... – Shog9 2009-10-24 21:15:35

+1

好的我修好了它,謝謝你們問題是與span元素 – kazey 2009-10-24 21:15:56

回答

2

您需要return false;click()功能,防止默認動作。除此之外,它適用於我(在谷歌瀏覽器上)。

相關問題