Присоединить слушатель jQuery ко всем элементам <a>и получить их идентификаторы? - PullRequest
0 голосов
/ 13 декабря 2011

Мне нужно получить идентификатор всех ссылок <a>, чтобы я мог сделать пост Ajax, основываясь на том, что они

$(document).ready(function(e) {
   $('a').click(function(e) {
       var linker = this.attr('id');
       alert(linker);
       // Here I will then make an Ajax call, but I know how to do that :)
   });
});

Ответы [ 4 ]

4 голосов
/ 13 декабря 2011

this не является объектом jQuery, поэтому вы не можете вызвать attr для него; вам нужно $(this), чтобы этот метод был доступен.

$(document).ready(function(e) {
   $('a').click(function(e) {
       var linker = <strong>$(</strong>this<strong>)</strong>.attr('id');
       alert(linker);
       // Here I will then make an Ajax call, but I know how to do that :)
   });
});

В качестве альтернативы, вы можете просто сделать:

var linker = this.id;

Но этого недостаточно, jQuery ;)

1 голос
/ 13 декабря 2011

Я собираюсь сопротивляться желанию исправить все орфографию и грамматику здесь и просто добраться до сути:

Ваш скрипт должен выглядеть так:

$(function(){
   $('a').click(function(){
      alert(this.id);
   };
});

Вам не нужно искать свойство attr для нативных свойств.

0 голосов
/ 13 декабря 2011

Даже лучше, чем использовать jQuery для получения идентификатора, это использовать прямой javascript с this.id:

$(document).ready(function(e) {
   $('a').click(function(e) {
       var linker = this.id;
       alert(linker);
       // Here I will then make an Ajax call, but I know how to do that :)
   });
});

jQuery следует использовать ТОЛЬКО тогда, когда это лучше, чем прямой javascript. В этом случае jQuery way $ (this) .attr ("id") - это два ненужных вызова функций, когда this.id получает именно то, что вы хотели.

0 голосов
/ 13 декабря 2011
$(document).ready(function() {
   $('a').click(function(e) {
       var linker = $(this).attr('id');
       alert(linker);
       // Here I will then make an Ajax call, but I know how to do that :)
   });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...