jQuery hasClass / addClass问题

时间:2011-07-25 19:24:30

标签: jquery jquery-selectors

这就是我所拥有的。李有一类当前但由于某种原因它没有添加类。

if (jQuery("#sidebar li").hasClass("current")) {
        jQuery(this).addClass("booyah");
    }

6 个答案:

答案 0 :(得分:6)

此指针未引用$(“#sidebar li”)元素。

if (jQuery("#sidebar li").hasClass("current")) {
        jQuery("#sidebar li").addClass("booyah");
    }

答案 1 :(得分:4)

真实而简单的方法:jQuery("#sidebar li.current").addClass('booyah') (如果我理解你的问题,你想在已经拥有'当前'的li元素中添加'booyah')

答案 2 :(得分:2)

首先尝试改变侧边栏。我不认为“这个”是你认为的。

var $sideBar = jQuery("#sidebar li");

if ($sideBar.hasClass("current")) {
       $sideBar.addClass("booyah");
    }

答案 3 :(得分:2)

不要使用this因为您不在this代表#sidebar li的上下文中。而是将jQuery选择器整合到变量中并重用该变量。这提供了效率,因为您只需要搜索一次有问题的元素,而不是两次。

var sidebarli = jQuery("#sidebar li");
if (sidebarli.hasClass("current")) {
    sidebarli.addClass("booyah");
}

答案 4 :(得分:0)

你走了:

var $li = jQuery("#sidebar li");

if ($li.hasClass("current")) {
        $li.addClass("booyah");
    }

答案 5 :(得分:0)

你也可以试试这个: http://jsfiddle.net/shaneburgess/STZUb/

$.each(jQuery("#sidebar li"),function(){
   if (jQuery(this).hasClass("current")) {
        jQuery(this).removeClass("current").addClass("booyah");
    }
});