javascript - js获取某元素之外,not()不行
PHP中文网
PHP中文网 2017-04-11 11:20:21
[JavaScript讨论组]

点击某个元素时,运行某js,点击这个元素之外结束,如果如下写还是没有排除这个元素:

$('body').not('.a')

jQuery这样解释.not:

返回不带有类名 "intro" 的所有 

元素 $("p").not(".intro")

那么上面就翻译成:

$('body').not('.a')

返回不带有类名 “a” 的所有元素

还有什么方法获取除.a之外的元素?

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(7)
PHPz
看你的描述,可以通过这样的方法折衷实现。
$('body').click(function(e) {
    var _con = $('.a '); // 设置目标区域
    if (!_con.is(e.target) && _con.has(e.target).length === 0) { 
    }
});
PHP中文网

$("body").not(".a")
这个表达式的意思不是说返回所有body下的元素中不带有".a"的元素,not是对于前一个集合的二次筛选,意思是所有body元素中不是".a"的元素。

天蓬老师

$(document).on('click,function(){
$(this).hasClass('a')?console.log(1):console.log(2);
})
这样应该能达到你想要的效果

伊谢尔伦

$('p:not(.a)')

高洛峰

为什么要以body为参考呢,换个p不好吗?一般没有另外的body吧。

高洛峰

试试

$('*').not('.a');
阿神

一个页面一般都只有一个body标签, 是不是不包含class=a 的body标签 所以获取不到吧

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号