jquery排除某元素及其子元素,选择其余其他所有元素怎么写

图片描述

如图,只有点击黄色和蓝色区域才执行函数,点击红色区域以及红色内的绿色子元素都不执行函数,用jquery该怎么写?

阅读 6.9k
6 个回答
$('#yellow','#blue').click(function(){
    // dosomething...
})

var _sel = true;
$(".red",".green").click(function{
_sel = false;
})
$('.yellow','.blue').click(function(){
_sel = true;
})
if(_sel == true){
//执行函数
}
或者

要执行函数的有个公共的class
$(class).click(funciton(){

    //执行函数

})

红色和绿色的没有这个class

最后我先写了个所有元素点击都执行的函数,在函数内判断点击的元素的className和元素的父元素有没有该className,如果为true,则不执行下面的内容

$(document).click(function(){
  if(!(event.target.className==="red"||event.target.parents().hasClass('red')){
    //执行相关操作
  }
}

事件冒泡,event.target就可以了

有个siblings或许能解决这个...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题