javascript - 2 个 CSS 类可以激活同一个脚本吗?

标签 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;
    });

});

最佳答案

您可以简单地使用逗号来指定 multiple selectors :

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

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

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

我还应该补充说做 .class选择器很慢。如果你只知道<a>元素将具有 .nav.home类,你应该这样写你的选择器:

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

如果没有这个,jQuery 将被迫查看文档中的每个元素 以查看它是否具有您指定的类,而不是仅查找 <a>。元素与原生 getElementsByTagName然后查看他们是否指定了类(class)。这只是一个需要记住的好习惯。

关于javascript - 2 个 CSS 类可以激活同一个脚本吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/994011/

相关文章:

javascript - 突变和行动有什么区别

javascript - 从表单中获取 ID

javascript - DOM 元素中有多少溢出

jquery - 使用 JS/jQuery 查找字母顺序错误的单词

javascript - Youtube api 无法在 firefox 上加载

javascript - PouchDB 中模糊的用户名和密码

CSS 导航仅在 Google Chrome 中下降。 Rails 教程反馈

css - 为什么我的按钮会通过媒体查询改变 Chrome 中的位置?

css - 您可以在不导入所有内容的情况下从另一个文件引用 SASS 函数吗?

javascript - 在 css/js/jquery/html 中应用玫瑰色或更改整个文档的亮度?