2014-09-19 74 views
0

我有一堆div是我网站上的按钮。当我点击一个按钮,我想要一个子导航显示。所有的子导航都有“subNab”类,但是也有一个与主导航栏相同的类,并附有“Sub”。例如,我有:jQuery获取选定元素的类

<div class="navBox audits"> 
    <p>Audits</p> 
</div> 

<div class="subNav auditsSub"> 
    <div class="navBox"> 
     <p>Audits Sub1</p> 
    </div> 
    <div class="navBox"> 
     <p>Audits Sub2</p> 
    </div> 
</div> 

目前,我有次资产净值隐藏在页面加载和显示上点击功能,再次与隐藏subNav所以他们不只是叠起来一起。我有下面的代码与每个按钮不同的类名称。有一个更简单的方法。

$(".audits").click(function(){ 
     $(".subNav").hide(); 
     $(".auditsSub").fadeIn("slow"); 
     $("#adSlider").hide(); 
    }); 
    $(".billing").click(function(){ 
     $(".subNav").hide(); 
     $(".billingSub").fadeIn("slow"); 
     $("#adSlider").hide(); 
    }); 
    $(".consulting").click(function(){ 
     $(".subNav").hide(); 
     $(".consultingSub").fadeIn("slow"); 
     $("#adSlider").hide(); 
    }); 

在此先感谢!

+2

最简单的解决方法是将添加像'数据目标=“ auditsSub”其他属性'来触发按钮 – 2014-09-19 16:58:17

+0

Arun的建议是你应该做的。解析类名然后附加“Sub”是很有可能的,但它变得一团糟。当你从一个元素中读取类时,你会得到所有这些类。然后你必须在追加它之前找出你想要的。不是很干净。 – slicedtoad 2014-09-19 17:16:12

回答

0

你能给我完整的代码,所以我可以看到你想要如何处理你的菜单。如果你正确地组织你的代码,你不必为每个触发按钮提供一个类。 也许这是你在找什么: $(文件)。就绪(函数(){

$(document).ready(function(){ 
$('.submenu').hide(); 
$('.menu ul li a').click(function(event){ 
    event.preventDefault(); // prevents link from redirrecting 
    $('.submenu').hide(); // hide all submenu items 
    $(this).siblings('.submenu').slideDown(); // show only child submenu 
}); 

});

http://jsfiddle.net/75d67hLq/1/