为什么我的jQuery代码无法将元素与动态ID匹配?

为什么我的jQuery代码无法将元素与动态ID匹配?,jquery,jquery-selectors,Jquery,Jquery Selectors,这段代码应该使用正确的id向span元素“saved”添加一个class属性,但在某种程度上没有这样做。也许我错过了什么,但似乎无法找到它 <script type="text/javascript"> jQuery(function($){ $("a[id^='savebook-']").click(function(){ match = this.id.match(/savebook-(\d+)/); savedclass = $("span#saved

这段代码应该使用正确的id向span元素“saved”添加一个class属性,但在某种程度上没有这样做。也许我错过了什么,但似乎无法找到它

<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>

jQuery(函数($){
$([id^='savebook-'])。单击(函数(){
match=this.id.match(/savebook-(\d+/);
savedclass=$(“span#saved-”+匹配[1])
savedclass.addClass(“已保存”);
});
});
样本使用

<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>

  • 您需要
    返回false单击()
    功能中选择code>,以阻止默认操作。除此之外,它还适用于我(在Google Chrome上)。

    我想要的是更改为只提供解决方案地址的解决方案地址parent@kazey:很抱歉搞混了-不知怎的,我错过了你样品中的第三个元素。除了一些小问题(Greg指出您可能希望返回false,并且明智地使用局部变量),您的代码似乎没有任何问题……好的,我修复了它,谢谢大家,问题出在span元素上