Как выбрать для класса td в Jquery

#jquery #jquery-selectors #preventdefault

#jquery #jquery-селекторы #предотвратить по умолчанию

Вопрос:

У меня возникли проблемы с выбором элемента в моем DOM.

Как вы выбираете для всех ссылок корзины класса td?

 <td class="trash_can">
<a rel="nofollow" data-remote="true" data-method="delete" data-confirm="Are you sure you want to delete Greek Theater at U.C. Berkeley?" href="/promotions/2/places/46">
<img id="trash_can" src="http://test.dev/images/trash.png?1305741883" alt="Trash">
  

Следующий код ничего не делает и не работает:

 $(function(){
  $('.trash_can').live("click", function(event) {
    console.log('Clicked Delete');
    event.preventDefault();
  });
});
  

Ответ №1:

.trash_can выбирает ваш td , а не его a . Вы хотите применить обработчик события к a элементу.

 $(function(){
  $('.trash_can a').live("click", function(event) {
    console.log('Clicked Delete');
    event.preventDefault();
  });
});
  

Комментарии:

1. 1 за то, что он выглядит правильно и является наиболее полным, удалил мой, поскольку это обман.

Ответ №2:

вам нужно привязать тег к селектору

 $(function(){
  $('.trash_can a').live("click", function(event) {
    console.log('Clicked Delete');
    event.preventDefault();
  });
});
  

Также вам следует использовать .делегировать() вместо live()

Пример:

 $(".trash_can").delegate("a", "click", function(){
        console.log('Clicked Delete');
        event.preventDefault();
});
  

Ответ №3:

Вероятно, вы захотите выбрать сами ссылки, а не td.

  $(function(){
   $('.trash_can a').live("click", function(event) {
     console.log('Clicked Delete');
     event.preventDefault();
   });
 });