我想将click事件添加到`id =“violacao”:
的所有元素$(document).ready(function () {
jQuery('#violacao').click(function() {
alert('teste');
});
});
但只是第一个链接响应了点击。这是生成的HTML:
<tr>
<td><a href="#" id="violacao">40954589</a></td>
<td>Perda de Comunicação</td>
</tr>
<tr>
<td><a href="#" id="violacao">88692020503</a></td>
<td>Perda de Comunicação</td>
</tr>
当我尝试这种方式时:
jQuery("a").click(function() {
alert('teste');
});
除了所有链接都受到影响外,它工作正常。有什么问题?
答案 0 :(得分:19)
HTML中的ID应该是唯一的(每个文档一个)。将ID更改为类(并使用。而不是#),它应该可以工作。
答案 1 :(得分:1)
虽然史蒂夫梅森说这是真的,但实际问题并非如此。
如果您将ID更改为类,则问题仍然存在:所有链接都会受到影响。
相反,如果您的目标是影响单个&lt; A&gt;,则应执行以下操作之一:
a)为每个&lt; A&gt;分配唯一的ID,然后像你先做的那样做;或
b)分配类并使用:first selector:
jQuery("a.violacao:first").click( function (){
alert('teste');
} );
这将适用于第一个与类violacao匹配的锚点。或者,如果要影响特定锚点,可以使用:eq(index)。
有关选择器的完整列表,请访问http://docs.jquery.com/Selectors。