Где этот JQuery неправильно?

Я хочу добавить событие click ко всем элементам, где `id =” violacao “:

$(document).ready(function () { jQuery('#violacao').click(function() { alert('teste'); }); }); 

Но только первая ссылка реагирует на щелчок. Это HTML-код:

  40954589 Perda de Comunicação   88692020503 Perda de Comunicação  

Когда я пробую так:

 jQuery("a").click(function() { alert('teste'); }); 

Он отлично работает, за исключением того, что все ссылки затронуты. Что случилось?

Идентификаторы в HTML должны быть уникальными (по одному на один документ). Измените ID на class (и используйте вместо #), и он должен работать.

Хотя Стив Мейсон говорит, что это правда, реальная проблема заключается не в этом.

Если вы меняете идентификатор classа, проблема сохраняется: все ссылки будут затронуты.

Вместо этого, если вы хотите повлиять на один , вы должны сделать одно из следующего:

a) Назначьте уникальные идентификаторы для каждого , затем сделайте то, что вы делали первым; или же

b) Назначьте classы и используйте: первый селектор:

 jQuery("a.violacao:first").click( function (){ alert('teste'); } ); 

Это применимо к первому совпадающему ярусу с classом violacao. В качестве альтернативы, если вы хотите повлиять на конкретный якорь, вы можете использовать: eq (index).

Полный список селекторов можно найти на странице http://docs.jquery.com/Selectors .