jQuery确定ul是否有类或另一个

时间:2010-07-07 16:03:20

标签: jquery if-statement

确定某个对象是否有一个类或另一个类的正确方法是什么? 以下是错误的..

if ($('#menu-item-49').hasClass('current-menu-item' || 'current-menu-parent') ) {
  $('ul.sub-menu ').css('display', 'block');
}

谢谢!

7 个答案:

答案 0 :(得分:68)

您可以改用is吗?

if ($('#menu-item-49').is('.current-menu-item, .current-menu-parent')) {
  $('ul.sub-menu ').css('display', 'block');
}
  

检查当前匹配的组   对选择器和返回的元素   如果至少有其中一个元素,则为true   匹配选择器。

Beats必须使用多个hasClass查询,这是另一种选择:

if ($('#menu-item-49').hasClass('current-menu-item') || 
    $('#menu-item-49').hasClass('current-menu-parent')) {
  $('ul.sub-menu ').css('display', 'block');
}

答案 1 :(得分:2)

您无法在||中使用hasClass(或)运算符。试试这个:

if ($('#menu-item-49').hasClass('current-menu-item') || 
    $('#menu-item-49').hasClass('current-menu-parent')) {
  $('ul.sub-menu ').css('display', 'block');
}

或者你可以这样做,如果那太冗长了:

var $menuItem = $('#menu-item-49');
if ($menuItem.hasClass('current-menu-item') || 
    $menuItem.hasClass('current-menu-parent')) {
  $('ul.sub-menu ').css('display', 'block');
}

甚至更好:

var $menuItem = $('#menu-item-49');
if ($menuItem.is('.current-menu-item, .current-menu-parent')) {
  $('ul.sub-menu ').css('display', 'block');
}

答案 2 :(得分:1)

if ($('#menu-item-49').hasClass('current-menu-item') || $('#menu-item-49').hasClass('current-menu-parent') ) {
  $('ul.sub-menu ').css('display', 'block');
}

您是否尝试过以下操作?

答案 3 :(得分:1)

您还可以使用.is()来检查以current-menu-开头的任何课程:

if ( $('#menu-item-49').is('[class]^="current-menu-"') ) {
    //49 is the current menu!
}

可以找到^=之类的更多属性选择器{/ 3}}。

答案 4 :(得分:0)

以下是您的想法:

var menuItem49 = $('#menu-item-49');
if (menuItem49.hasClass('current-menu-item') || menuItem49.hasClass('current-menu-parent')) {
    // ...
}

答案 5 :(得分:0)

如此接近!

尝试:

if ($('#menu-item-49').hasClass('current-menu-item') || $('#menu-item-49').hasClass('current-menu-parent') ) {
  $('ul.sub-menu ').css('display', 'block'); 
}

答案 6 :(得分:0)

请这样做,将其分成两位:

if ($('#menu-item-49').hasClass('current-menu-item') || $('#menu-item-49').hasClass('current-menu-parent') ){
   $('ul.sub-menu ').css('display', 'block');
}

希望这有助于你