2009-10-24 2 views
1

Этот код должен добавить атрибут класса к элементу span, сохраненному с правильным id. но несколько не делает этого. Возможно, что-то мне не хватает, похоже, не понятно.Почему мой код jQuery не соответствует элементам с динамическими идентификаторами?

<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

То, что я хочу, он < "спас-1">       быть изменен на       Решение адреса учитывая только адреса родителя – kazey

+0

@kazey: извините за путаницу - как-то я пропустил третий элемент в вашем примере. Помимо нескольких незначительных проблем (Грег указывает, что вы, вероятно, захотите вернуть false, и вам также будет полезно использовать локальные переменные), в вашем коде не будет ничего плохого ... – Shog9

+1

Хорошо, я исправил это, спасибо, ребята, проблема была с элементом span – kazey

ответ

2

Вы должны return false; от функции click(), чтобы предотвратить действие по умолчанию. Кроме того, он работает для меня (в Google Chrome).