我正在使用自定义CSS和Jquery在Wordpress中自定义变体样式。
我在DIV上有一个单击的事件,该事件已打开切换,并且我想更改标题颜色,但仅更改切换的位置。
这是我的代码
$(".btnClass").click(function(){
if ( $('.tm-collapse-wrap').is(':visible') ) {
//do something
$('.btnClass').css('color','black');
$('.cs-price').css('color','black');
$('.cs-price').css('border-color','black');
$('.mkSize').css('color','#8e8e8e');
$('.tm-description').css('color','black');
}
else if ( $('.tm-collapse-wrap').is(':hidden') ){
$('.btnClass').css('color','#005267');
$('.cs-price').css('color','#005267');
$('.cs-price').css('border-color','#005267');
$('.mkSize').css('color','#4683939e');
$('.tm-description').css('color','#005267');
}
}
问题在于它将更改所有部分的颜色。我只想在只有拨动开关的地方进行更改。
答案 0 :(得分:0)
我认为您不了解.is()方法的作用。如果至少一个选定元素具有属性,则返回true。使用$('.tm-collapse-wrap').is()
,您可以选择所有div,无论它们是否可见。
您可以更改所有div(如.btnClass),具有折叠的对象和具有扩展的细节的类的类属性。如果单击一个div,则将颜色更改为所有div。
您只需要更改单击的div的属性。在click()函数中,您可以通过$(this)
访问当前单击的元素,并可以通过$(this).children("selector")
访问该元素的子元素。