Javascript 是否可以通过使用相同的功能单击不同的元素来切换不同的div?

Javascript 是否可以通过使用相同的功能单击不同的元素来切换不同的div?,javascript,jquery,html,css,function,Javascript,Jquery,Html,Css,Function,假设我有50个div,如下所示: <div class="btn1"></div> //Toggles the first container to appear <div class="btn2"></div> //Toggles the second container to appear <div class="btn3"></div> //Toggles the third container

假设我有50个div,如下所示:

    <div class="btn1"></div> //Toggles the first container to appear
    <div class="btn2"></div> //Toggles the second container to appear
    <div class="btn3"></div> //Toggles the third container to appear
    <div class="container-1"><h1>This is the first container</h1></div>
    <div class="container-2"><h1>This is the second container</h1></div>
    <div class="container-3"><h1>This is the third container</h1></div>
当只使用一个功能单击每个按钮时,是否可以进行相应的div切换?我读过一些关于委托和操作父/兄弟的内容,但它似乎只适用于打开同一容器的多个按钮,而不是每个按钮打开每个容器

不知何故,我不认为为每个div编写一个函数是可行的

使用以选择器开始^ 使用data-*存储按钮上相应的div。 选择数据-*然后用作选择器以显示 $'div[class^=container]'。隐藏; $'div[class^=btn]'。单击函数{ $'div[class^=container]'。隐藏; var thisclass=$this.attrdata-class $'..+thisclass.show; } 1. 2. 3. 这是第一个容器 这是第二个容器 这是第三个集装箱
是的,这是可能的。基本上,您需要添加对单击对象的引用,以便单击事件知道显示/隐藏什么

$function{ $'.btn'。单击,函数E{ var$dataTarget=$$this.data'target'; $dataTarget.show.sibbines.container.hide; }; }; //切换要显示的第一个容器 //切换要显示的第二个容器 //切换要显示的第三个容器 这是第一个容器 这是第二个容器 这是第三个集装箱 您可以使用index和eq来完成此操作

$[class*='btn']。单击函数{ $[class*='container-'].eq$this.index-1.toggle; } [类别*=btn]{ 宽度:150px; 高度:20px; 边框:2×000; 显示:内联块; 光标:指针; } 这是第一个容器 这是第二个容器 这是第三个集装箱
你可以用这样的东西

$(document).ready(function() {
  $("div[class^='btn']").each(function() {
    $(this).click(function() {
      var str = $(this)[0].className;
      $(".container-" + str.substring(3, str.length)).toggle();
    });
  });
});
查找以btn开头的所有类,并对其应用单击事件。。 并根据编号隐藏相应的容器类

以下是完整的代码:

$document.readyfunction{ $div[class^='btn'].eachfunction{ $this.clickfunction{ var str=$this[0]。类名; $.container-+str.substring3,str.length.toggle; }; }; }; aaaa//切换要显示的第一个容器 bbbb//切换要显示的第二个容器 cccc//切换要显示的第三个容器 这是第一个容器 这是第二个容器 这是第三个集装箱
当只使用一个功能单击每个按钮时,是否可以使相应的div切换对使用jQuery on或类似工具绑定到btn“click”事件,然后可以使用解析从btn中的类中获取数字,以匹配容器为目标,或向与之匹配的每个div添加数据属性,如data id=1或使用位置选择器,如果容器div始终位于btn div等的同一位置,则与同级或类似项相同。。。挑一个,试试看。如果您遇到问题,请发布您的代码,我们可以提供帮助。介意评论一下为什么对这里提供的所有解决方案投反对票吗???@KarthikGanesan我没有。我刷新了页面,他们都被否决了——不知道为什么,有两个用户对我很有帮助。@J.Daykin我的评论是针对那些被否决的人的。。如果有人在没有解释原因的情况下否决了投票,那就太令人沮丧了。。就我所见,所有的解决方案都有效。。。只是每个人都有自己的方式。@KarthikGanesan对不起,是的,我完全同意。这就是堆栈溢出的美妙之处。