jQuery .click 获取具有相同类的多个元素

标签 jquery onclick click

我有一小段 jQuery,需要一些帮助。这是我所拥有的:

jQuery:

jQuery(".disableUser").click(function() {
    jQuery(".enableUser").show()
    jQuery(".disableUser").hide();
});

jQuery(".enableUser").click(function() {
    jQuery(".disableUser").show()
    jQuery(".enableUser").hide();
});

HTML:

<tr>
    <td></td>
    <td></td>
    <td></td>
    <td><span class="disableUser">Disable this user</span><span class="enableUser">Enable this user</span></td>
</tr>

.enableUser 默认设置为 display:none

如您所见,它只是隐藏或显示一个元素。我的问题是表中有行,每行都有相同的两个元素。当我单击一行元素时,它会隐藏或显示该行的所有元素。我只希望它影响我单击的特定元素,而不是影响具有同一类的所有元素。我已经尝试过这里找到的信息:http://css-tricks.com/snippets/jquery/click-once-and-unbind/ ,但我不确定我是否理解它或正确使用它。

最佳答案

您可能想要查找当前行的 .enableUser.disableUserthis 将引用单击的元素,从那里您可以遍历 DOM 并找到正确的元素:

jQuery(".disableUser").click(function() {
    jQuery(this).hide().closest("tr").find(".enableUser").show();
});

查看 .closest 的文档和 .find了解更多信息。您可能还想阅读有关 event handling 的更多信息.

关于jQuery .click 获取具有相同类的多个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18026780/

相关文章:

javascript - 尝试将缺少的 img 属性添加到自定义 javascript

wpf - 如何处理 WPF 中的鼠标滚轮单击事件?

javascript - 如何将 onclick 鼠标位置与确切的 DOM 元素内容相关联?

javascript - 如何使用history.pushState将查询字符串变量附加到现有URL?

jquery - 使用 CSS 和 jQuery 检测所选行的前一行

asp.net - Javascript 在 IE 和 FF 中被调用,但在 Chrome 中却没有被调用,为什么?

javascript - Ruby on Rails 应用程序文本区域 onclick 删除或选择默认文本

android按钮必须点击两次才能工作

javascript - 使用 JQuery 从 li 获取具有特定位置的类

javascript - “原型(prototype)”抛出 TypeError : info is undefined