我有一个按钮元素的多个实例:
<div id="openambiance" class="openclose leftside"></div>
<div id="opendesign" class="openclose rightside"></div>
<div id="openperform" class="openclose leftside"></div>
它们带有不同的ID,因为点击它们会打开不同的面板。我想当前打开面板切换其打开/关闭按钮背景,按照.openclose-active中的定义。然而现实是,它们都受到影响。我的初始代码看起来像这样,我很快意识到为什么他们都受到影响:
$(document).ready(function() {
$("#openambiance").click(function(e){
$("#hiddenambiance").slideToggle(600,"easeInOutQuint");
$(".openclose").toggleClass("openclose-active");
});
});
所以我尝试定位特定元素:
$(this).find(".openclose").toggleClass( "openclose-active" );
失败了,所以我继续.siblings,.next和.parent,但没有运气。它们仍然全部切换或仅切换先前的实例。我输了:(
答案 0 :(得分:2)
this
是您要找的元素
$(document).ready(function() {
$("#openambiance").click(function(e){
$("#hiddenambiance").slideToggle(600,"easeInOutQuint");
$(this).toggleClass("openclose-active openclose");
});
});
您正在点击具有班级openclose
的按钮,因此您需要切换this
元素的类,而不是为其任何后代切换