2013-11-26 2 views
1

моего HTML:JQuery определить идентификатор элемента по классу

<a href="#" class="small button" id = "spare_approve_button_<?php echo $i; ?>">approve</a> 
<a href="#" class="small button" id = "spare_return_button_<?php echo $i; ?>">return</a> 

Кнопки создаются с помощью петли, и я никогда не знаю, сколько кнопок у меня будет только то, что каждый из них будет иметь другой идентификатор.

Я хотел бы определить идентификатор кнопки, которая была нажата, и я попытался:

$("a.small.button").click(function(){ 
     var button_id = this.id; 
     alert(button_id); 
}); 

когда кнопка нажата, предупреждение, даже не показывает, так что кажется, что это не обнаруживает мой щелчок. Консоль Firefox не показывает ошибок. Может быть, $("a.small.button") ошибается, но что это должно быть?

+1

попробовать '$ ('a.button')' –

+2

@MarkWalters нет. он прав в этой части –

+3

Появляется, чтобы работать здесь: http://jsfiddle.net/VjENP/. –

ответ

2

Возможно, ваш код javascript выполнен слишком рано. Попробуйте это:

$(function() { 
    $("a.small.button").click(function(){ 
     var button_id = this.id; 
     alert(button_id); 
    }); 
}); 

Если кнопки создаются на последней странице javascript на странице, вы должны выполнить свой код после этого. Или вы можете использовать функцию on JQuery на родителе кнопок:

$(function() { 
    // You can use a more specific parent. 
    $(document).on('click', 'a.small.button' function() { 
     var button_id = this.id; 
     alert(button_id); 
    }); 
}); 
Смежные вопросы