jQuery:如何触发click事件以触发具有相同ID的所有元素?

时间:2017-08-07 22:24:18

标签: javascript jquery html

我有一个jQuery click事件需要触发任何使用给定ID点击的元素。

Link to jsfiddle demo here.

有问题的功能:

$("#trigger").click(function(e) {
  console.log($(this)[0].title);
  e.stopPropagation();
});

我的功能仅适用于带有trigger ID的 第一个 元素,但不适用于其他任何元素。 如何让我的功能处理所有这些元素?

1 个答案:

答案 0 :(得分:3)

根据规范,ID必须对单个元素是唯一的。根据该规范,JQuery将对它找到的第一个元素进行操作,然后完成。

另一方面,类可以在元素之间共享。你需要修改你的元素以获得唯一的ID(或者根本没有),这样你就拥有了一个有效的html然后添加了类#34;触发" (或其他)你的目标元素。然后你会像这样更新你的JS:



$(".trigger").click(function(e) {
  console.log(this.title);
  e.stopPropagation();
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="trigger" title="One">Hello</div>
<div class="trigger" title="Two">Hello</div>
<div class="trigger" title="Three">Hello</div>
&#13;
&#13;
&#13;

请注意,唯一的变化是使用&#34;。&#34;而不是&#34;#&#34; 。这告诉jquery按类而不是ID进行选择。