更改javascript中可见的手风琴h3标记的背景色
我有以下html格式更改javascript中可见的手风琴h3标记的背景色,javascript,jquery,html,css,accordion,Javascript,Jquery,Html,Css,Accordion,我有以下html格式 <li id="options"> <h3><span class=""></span>Options</h3> <ul id="childPo"> <div class="container"> <div class="eight columns">
<li id="options">
<h3><span class=""></span>Options</h3>
<ul id="childPo">
<div class="container">
<div class="eight columns">
<span class="form-required">*</span>
<span id="error-pi-first-name"></span>
<input type="text" id="first-name" name="firstName" placeholder="First Name" value="" />
</div>
</div>
</ul>
</li>
<li id="personalize_front" class="active">
<h3><span class="#"></span>Personalize</h3>
<ul id="childPf">
<div class="container">
blah blah
</div>
</ul>
</li>
我现在需要的是,只要手风琴打开,无论哪一个打开,我都想更改h3标签上的背景色您尝试了什么
我将通过向CSS添加一个类来设置适当的背景颜色来实现这一点
然后添加$(this.addClass('newClassName')代码>
假设您希望在单击另一个h3时删除该类,您可能还希望使用:
$('h3.newClassName').removeClass('newClassName')代码>也是
您可以使用.css
方法添加颜色,但是如果需要删除,使用类可以更容易地识别任何已经显示该背景颜色的h3
这将更改元素的背景颜色,但是看起来它的父元素上已经有了一个“活动”类。这可能就是JQuery和CSS的目标
$(“#手风琴h3”)。单击(函数(){
//向上滑动所有链接列表
$(“#手风琴h3”).removeClass(‘突出显示’);
$(“#手风琴ul”).slideUp();
//向下滑动h3下的链接列表-仅当其已关闭时
如果(!$(this).next()是(“:可见”))
{
$(this.addClass('highlight');
$(this.next().slideDown();
}
});代码>
。突出显示{
背景色:#DEF;
}
-
选择权
*
-
个性化
废话
这是手风琴,不是手风琴:)我不明白,你的htmlI中没有手风琴/an的实例,我不明白,没有改变背景颜色或类名的尝试我没有尝试过任何东西,因为我不知道要添加什么。我尝试了你的代码,虽然我认为它会起作用,但唯一的问题是看到实际的颜色没有显示出来。在我的css中,我有.accordion_highlight{background:#fdb415;}但我有另一个h3的div,它有不同的背景颜色
$("#accordian h3").click(function(){
//slide up all the link lists
$("#accordian ul ul").slideUp();
//slide down the link list below the h3 clicked - only if its closed
if(!$(this).next().is(":visible"))
{
$(this).next().slideDown();
}
});