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

1 javascript css jquery 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;
    });

});
Run Code Online (Sandbox Code Playgroud)

Pao*_*ino 10

您只需使用逗号指定多个选择器:

$('.nav, .home').doSomethingToBoth();
Run Code Online (Sandbox Code Playgroud)

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

$('.nav').doSomethingToNavs().add('.home').doSomethingToBoth();
Run Code Online (Sandbox Code Playgroud)

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

$('a.nav, a.home').click(...);
Run Code Online (Sandbox Code Playgroud)

如果没有这个,jQuery将被强制查看文档中的每个元素以查看它是否具有您指定的类,而不是只查找<a>具有native getElementsByTagName和THEN的元素,以查看它们是否具有指定的类.这是一个值得记住的好习惯.