Javascript 是否可以通过使用相同的功能单击不同的元素来切换不同的div?
假设我有50个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
<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对不起,是的,我完全同意。这就是堆栈溢出的美妙之处。