使用.is()检查多个ID

时间:2019-04-17 13:43:31

标签: jquery

我想知道在以下代码中逻辑非运算符的位置:

追求的功能是,在页面上除这些元素之外的任何部分中单击时,#chat_content应该隐藏。

该代码是使用PHP动态生成的。很高兴知道:-)

$(window).click(function (e){
    var targ=$(e.target);
    if(!targ.is("#chat","#chat_content","#mensajes")){
        $("#chat_content").fadeOut("slow");
        $("#mensajes").css("margin-top","3px");
    }
})

1 个答案:

答案 0 :(得分:1)

这里不需要逻辑运算符。问题是因为当它仅接受一个参数时,您正在将多个参数传递给is()

要执行所需的操作,请将所有选择器放在单个字符串中,并以逗号分隔:

$(window).click(function(e) {
  var targ = $(e.target);
  if (!targ.is("#chat, #chat_content, #mensajes")) {
    $("#chat_content").fadeOut("slow");
    $("#mensajes").css("margin-top", "3px");
  }
})