问题:jQuery click事件仅适用于文本中的第一次出现

mai*_*iky 1 javascript jquery

我有这个代码:

<span id="Santiago4">Santiago</span> 
<br>more html code here<br> 
<span id="Santiago4">Santiago</span>
<script>
    jQuery("#Santiago4").click(function() {alert("blabla")} );
</script>
Run Code Online (Sandbox Code Playgroud)

我的问题是,当我在第一次出现时单击html文本时,单击事件会触发警报弹出.但是当我点击第二次出现时(或任何其他出现,如果圣地亚哥在文本中出现几次)没有任何反应.

这是为什么?为什么在单击第二个span元素时它也具有id:Stantiago4函数的代码不运行?

提前致谢.

Her*_*aaf 5

元素ID属性旨在是唯一的.如果要共享属性,请使用class属性:

<span class="santiago4">Santiago</span>
<br/>more html code here<br/> 
<span class="santiago4">Santiago2</span>
Run Code Online (Sandbox Code Playgroud)

换句话说,而不是id使用class.然后jQuery将是:

jQuery(".santiago4").click(function() {
   alert("clicked!")
});
Run Code Online (Sandbox Code Playgroud)

现在,click事件将绑定到所有带有class'santiago4'的HTML元素,这就是您要查找的内容.