javascript - 如何在 JavaScript 中使用单个循环在就绪函数中显示隐藏多个 id?

标签 javascript jquery event-handling

我想将其作为这个就绪函数的循环,但我最终这样做了:

$(document).ready(function () {

  $('#p1-show').click(function () { $('#p1').show(); });
  $('#p1-hide').click(function () { $('#p1').hide(); });

  $('#p2-show').click(function () { $('#p2').show(); });
  $('#p2-hide').click(function () { $('#p2').hide(); });

  $('#p3-show').click(function () { $('#p3').show(); });
  $('#p3-hide').click(function () { $('#p3').hide(); });

  $('#p4-show').click(function () { $('#p4').show(); });
  $('#p4-hide').click(function () { $('#p4').hide(); });

  //there will be ids' for 300+ show hide

});

最佳答案

您可以使用自定义 data-* 前缀属性将元素关联为 show()hide(),该属性可以重试使用.data(key)

使用它,您可以使用类选择器来绑定(bind)事件处理程序。

HTML

 <button class="show" data-target="#p1">show p1<button>
 <button class="hide" data-target="#p1">hide p1<button>

脚本

$(document).ready(function () {
    $('.show').click(function () {
        $(this).data('target').show();
    });
    $('.hide').click(function () {
        $(this).data('target').hide();
    });
})

关于javascript - 如何在 JavaScript 中使用单个循环在就绪函数中显示隐藏多个 id?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46684154/

相关文章:

javascript - 使 OOP 函数参数正常工作

javascript - ajax post后重定向到url不起作用

javascript - Jquery每次显示外部变量的值

jquery - 使代码更加健壮(jquery)

jquery - GWT 监听外部自定义 Javascript 事件

javascript - 无法将 Javascript 文件导入到 html.erb 文件

javascript - 更改页面时AngularJS自定义窗口

javascript - jquery.browser(在 jquery 1.9 中删除)的快速、纯 javascript 替代品是什么?

ios - 检测点击 UIView 的 "empty space"

python - 如何在pygame中用鼠标滚动图像?