多个选择器具有hasClass()问题

时间:2019-01-17 18:15:02

标签: jquery

我正在尝试编写一些具有多个选择器和多个hasClass的jQuery。

基本上,有多个元素可以具有各种类名。它们的任何组合都应附加google字体。

if ($('nav.main-navigation, header.site-header, main.site-content, footer.site-footer').hasClass('header-menu-font-shojumaru', 'header-title-font-shojumaru', 'header-tagline-font-shojumaru', 'body-font-shojumaru', 'body-heading-font-shojumaru', 'body-widget-title-font-shojumaru', 'footer-font-shojumaru')) {
    $('head').append('<link href="https://fonts.googleapis.com/css?family=Shojumaru" rel="stylesheet">');
}

不幸的是,这不能像我想的那样工作。它的工作似乎是随机的,尽管我知道不是这样。我无法弄清楚问题是什么以及如何解决。

1 个答案:

答案 0 :(得分:1)

您可以通过is()并将其视为选择器来实现。

if ($('nav.main-navigation, header.site-header, main.site-content, footer.site-footer').is('.header-menu-font-shojumaru, .header-title-font-shojumaru, .header-tagline-font-shojumaru, .body-font-shojumaru, .body-heading-font-shojumaru, .body-widget-title-font-shojumaru, .footer-font-shojumaru')) {
    $('head').append('<link href="https://fonts.googleapis.com/css?family=Shojumaru" rel="stylesheet">');
}

Official docs for is()