这个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应该是唯一的(每个文档一个)。 将ID更改为类(并使用。而不是#),它应该工作。

虽然史蒂夫梅森说这是真的,但实际问题并非如此。

如果您将ID更改为类,则问题仍然存在:所有链接都会受到影响。

相反,如果您的目标是影响单个,则应执行以下操作之一:

a)为每个分配唯一的ID,然后像你先做的那样做; 要么

b)分配类并使用:first selector:

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

这将适用于第一个与类violacao匹配的锚点。 或者,如果要影响特定锚点,可以使用:eq(index)。

有关选择器的完整列表,请访问http://docs.jquery.com/Selectors 。