2009-10-24 36 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()功能,防止默认动作。除此之外,它适用于我(在谷歌浏览器上)。

相关问题