Javascript 为var创建数组

Javascript 为var创建数组,javascript,Javascript,当您单击这些div之外的任何位置时,这将关闭数组中列出的任何div,但它不起作用 如果我要单击不是div1、div2、div3、div4的任何地方,那么所有这些div都应该关闭 $(document).mouseup(function (e) { var container = $["#div1," "#div2", "#div3", "#div4"]; if (!container.is(e.target) && container.has(

当您单击这些div之外的任何位置时,这将关闭数组中列出的任何div,但它不起作用

如果我要单击不是div1、div2、div3、div4的任何地方,那么所有这些div都应该关闭

$(document).mouseup(function (e)
{
    var container = $["#div1," "#div2", "#div3", "#div4"];

    if (!container.is(e.target) 
        && container.has(e.target).length === 0) 
    {
        container.hide();
    }
});
我可以在每个div自己的脚本标记中使其工作,但是我必须多次复制此代码,这不是很整洁

$(document).mouseup(function (e)
{
    var container = $("#div1");

    if (!container.is(e.target) 
        && container.has(e.target).length === 0) 
    {
        container.hide();
    }
});
$(document).mouseup(function (e)
{
    var container = $("#div2");

    if (!container.is(e.target) 
        && container.has(e.target).length === 0) 
    {
        container.hide();
    }
});
$(document).mouseup(function (e)
{
    var container = $("#div3");

    if (!container.is(e.target) 
        && container.has(e.target).length === 0) 
    {
        container.hide();
    }
});
$(document).mouseup(function (e)
{
    var container = $("#div4");

    if (!container.is(e.target) 
        && container.has(e.target).length === 0) 
    {
        container.hide();
    }
});

将这些#div分组的正确解决方案是什么?

您的选择器错误-使用圆括号并将所有逗号分隔的ID放在引号之间,如下所示:

var container = $("#div1, #div2, #div3, #div4");

然后,所有与
容器
变量相关的函数都会影响所有这些元素。

您的选择器错误-请使用圆括号,并将所有逗号分隔的ID放在引号之间,如下所示:

var container = $("#div1, #div2, #div3, #div4");
然后,所有与
容器
变量相关的函数将影响所有这些元素。

尝试以下操作:

 $(document).mouseup(function (e)
{
  var container = ["#div1", "#div2", "#div3", "#div4"];
  for(var i=0;i<container.length;i++)
 {
    if (!$(container[i]).is(e.target) 
    && $(container[i]).has(e.target).length === 0) 
    {
    $(container[i]).hide();
    }
 }
 });
$(文档).mouseup(函数(e)
{
变量容器=[“div1”、“div2”、“div3”、“div4];
对于(var i=0;i尝试以下方法:

 $(document).mouseup(function (e)
{
  var container = ["#div1", "#div2", "#div3", "#div4"];
  for(var i=0;i<container.length;i++)
 {
    if (!$(container[i]).is(e.target) 
    && $(container[i]).has(e.target).length === 0) 
    {
    $(container[i]).hide();
    }
 }
 });
$(文档).mouseup(函数(e)
{
变量容器=[“div1”、“div2”、“div3”、“div4];

对于(var i=0;i你可以这样做

JS:

HTML:

<div id="div1" class="test" style="background-color:red">111</div>
<div id="div2" class="test" style="background-color:blue">22</div>
<div id="div3" class="test" style="background-color:green">333</div>
<div id="div4" class="test" style="background-color:black">444</div>

<div id="div5" style="background-color:black">44455555555</div>
111
22
333
444
44455555555

你可以用这种方法来做

JS:

HTML:

<div id="div1" class="test" style="background-color:red">111</div>
<div id="div2" class="test" style="background-color:blue">22</div>
<div id="div3" class="test" style="background-color:green">333</div>
<div id="div4" class="test" style="background-color:black">444</div>

<div id="div5" style="background-color:black">44455555555</div>
111
22
333
444
44455555555

请检查答案请检查答案