JQuery $(' .menu')。(' .sub-menu')。addClass(' has-sub')无效

时间:2017-05-06 23:42:46

标签: jquery

我正在尝试为元素添加一个新类,如果它有"子菜单"类。但它没有用。这是代码:

$(document).ready(function() {
   $('.menu').has('.sub-menu').addClass('has-sub');
});

但是,当我删除.addClass()函数并在if语句中使用.has()函数时,它正在工作。这是代码:

$(document).ready(function() {
    if($('.menu').has('.sub-menu')) {
       console.log('it's working');
    }
});

我认为问题在于.addClass()函数,但是尽管尝试了几次,但我无法正确设置。所以请帮助我这些家伙。

3 个答案:

答案 0 :(得分:2)

尝试

$(document).ready(function() {
   $('.menu').children('.sub-menu').addClass('has-sub');
});

答案 1 :(得分:1)

这应该可以工作但是只有你有一个带有类菜单的元素,如果你有多个元素你需要做一个循环($ .each)并运行更多的测试

$(document).ready(function() {
        if($('.menu').has('.sub-menu')) {
           $('.menu').addClass('has-sub');
        }
    });

答案 2 :(得分:1)

试试这个,它有用吗

$(document).ready(function() {
        if($('.menu').has('.sub-menu')) {
           $(".sub-menu").addClass('lol');
        }
    });