使用Elegant Themes的Divi選項卡模塊。想要根據選擇哪個選項卡來更改包含部分的背景。添加不同的類到div取決於哪個李被點擊
什麼與我拼湊起來的代碼發生的事情是.pink被添加到#industryTabs DIV無論哪個裏有它的.et_pb_tab_active類(見截圖): 所以,當我點擊標籤1的背景仍然是粉紅色的。還注意到,即使li.et_pb_tab_0不存在於我的腳本中,li.et_pb_tab_1也不會執行任何操作。
有人可以幫助我瞭解我在這裏錯過了什麼,如果有更有效的方法來做到這一點,請?
的jQuery:
<script type="text/javascript">
jQuery(document).ready(function(){
if (jQuery("li.et_pb_tab_0").hasClass('et_pb_tab_active')){
jQuery("#industryTabs").addClass('pink');
}
if (jQuery("li.et_pb_tab_1").hasClass('et_pb_tab_active')){
jQuery("#industryTabs").addClass('purple')
}
});
</script>
HTML
<div id="industryTabs" class="et_pb_section et_pb_section_3 et_section_regular pink">
<ul class="et_pb_tabs_controls clearfix" style="min-height: 48px;">
<li class="et_pb_tab_0 et_pb_tab_active"><a href="#">healthcare</a></li>
<li class="et_pb_tab_1"><a href="#">industrial</a></li>
<li class="et_pb_tab_2"><a href="#">technology</a></li>
<li class="et_pb_tab_3"><a href="#">finance</a></li>
</ul>
</div>
(在我刪除非重要的HTML,但#industryTabs是5級從我名單的時間/空間利益物品,所以不是直接的父母。)
還嘗試加入REM veClass
<script type="text/javascript">
jQuery(document).ready(function(){
if (jQuery("li.et_pb_tab_0").hasClass('et_pb_tab_active')){
jQuery("#industryTabs").addClass('pink').removeClass('purple');
}
if (jQuery("li.et_pb_tab_1").hasClass('et_pb_tab_active')){
jQuery("#industryTabs").addClass('purple').removeClass('pink')
}
});
</script>
你是jQuery的作品 - 你只是從粉紅色的類開始:[粉紅色類被刪除,並通過活動標籤添加](https://jsfiddle.net/ezr1sng8/),[紫色類增加活動標籤](https://jsfiddle.net/ezr1sng8/1/) - 也許你只需要記住刪除已經存在的任何類 – Pete
嗯,這是迷惑,它在小提琴中,但不是在我的網站。嘗試添加,它仍然只是堅持粉紅色。單擊選項卡不會將#industryTabs類切換爲紫色.. – BReese
添加.removeClass,並且當我單擊li.et_pb_tab_1時它仍然應用粉色類。當您尋找可能會在點擊後激活的課程時,是否有重置或缺失的內容? – BReese