2个CSS类可以激活相同的脚本吗?

时间:2009-06-14 23:16:55

标签: javascript jquery css css-selectors

下面的脚本会在点击具有class =“nav”的链接时淡出页面。

对于class =“home”的链接,我想以相同的方式激活脚本。

怎么会这样呢?有没有$('。nav& .home')??

这样的东西

由于

<script type="text/javascript">
$('.nav').click(function(){
        var url = $(this).attr('href');

        $('.mask').fadeIn('medium', function(){
            document.location.href = url;
        })
        return false;
    });

});

3 个答案:

答案 0 :(得分:10)

您只需使用逗号指定multiple selectors

$('.nav, .home').doSomethingToBoth();

一个鲜为人知的替代方案是使用add

$('.nav').doSomethingToNavs().add('.home').doSomethingToBoth();

我还应该补充一点,做.class选择器的速度很慢。如果您知道只有<a>个元素将包含.nav.home类,那么您应该像这样编写选择器:

$('a.nav, a.home').click(...);

如果没有这个,jQuery将被迫查看文档中的每个元素以查看它是否具有您指定的类,而不是仅查找具有本机的<a>元素getElementsByTagName然后查看是否有指定的类。这是一个值得记住的好习惯。

答案 1 :(得分:1)

$('。nav,.home')...

答案 2 :(得分:0)

$(".nav, .home")