代码之家  ›  专栏  ›  技术社区  ›  Brett

无法让jQuery“not”方法和选择器在body元素上工作

  •  0
  • Brett  · 技术社区  · 6 年前

    我很难理解为什么这样做没有达到预期效果。

    我只是想把目标对准 body 元素,但是 只有 如果有 包含 .logged-in 类,但是通过下面的代码,我可以在控制台上获得一个日志,不管该类是否存在。

    if ($('body:not(.logged-in)')) {
        console.log('Hi!');
    }
    

    …或者。。。

    if ($('body').not('.logged-in')) {
        console.log('Hi!');
    }
    

    1 回复  |  直到 6 年前
        1
  •  1
  •   Ele    6 年前

    这些选择器实际上跳过(从整个所选元素中删除)带有类的元素 logged-in .

    我建议您使用属性 length

    if ($('body').find('.logged-in').length) { 
        console.log('Exists!');
    }