Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jQuery关闭多个div_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 使用jQuery关闭多个div

Javascript 使用jQuery关闭多个div,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有以下部门: 制造商[1]、制造商[2]、制造商[3]、。。。等等 我试图创建一个javascritp for循环来关闭多个div,但经过一点搜索后,我发现这是不可能的 关闭=隐藏(显示:无) 因此,我需要帮助编写jquery简单代码来实现这一点: function hideAllManufacturers(manufacturersID) { var manufacturer = [1,2,3,]; $.each(manufacturer, function(ind

我有以下部门:

制造商[1]、制造商[2]、制造商[3]、。。。等等

我试图创建一个javascritp for循环来关闭多个div,但经过一点搜索后,我发现这是不可能的

关闭=隐藏(显示:无)

因此,我需要帮助编写jquery简单代码来实现这一点:

    function hideAllManufacturers(manufacturersID)
{
    var manufacturer = [1,2,3,];

    $.each(manufacturer, function(index, val) {
        $('.manufacturer['+val+']').hide();
    });


}
它确实可以工作——但是在它之后的下一个代码没有显示出来。所以这可能是我写的一个问题

结尾有个逗号是不是很糟糕


需要你的帮助

您可以像这样使用通配符

$('[class^="manufacturer"]').hide();
这将隐藏以manufacturer开头的类的所有元素,因此将隐藏.manufacturer[1]、.manufacturer[2]等


这也使得以后的工作更加容易,因为如果以后添加新的制造商,则无需在jQuery中更新制造商数组。它将使用通配符立即捕获新的通配符,从而节省时间和不必要的代码。

您可以像这样使用通配符

$('[class^="manufacturer"]').hide();
这将隐藏以manufacturer开头的类的所有元素,因此将隐藏.manufacturer[1]、.manufacturer[2]等


这也使得以后的工作更加容易,因为如果以后添加新的制造商,则无需在jQuery中更新制造商数组。它将使用通配符和不必要的代码立即捕获新代码。

这是因为
[]
是JQuery使用的CSS选择器中的一个元字符,因此您必须用两个反斜杠对其进行转义
\
,因此情况如下

$(".manufacturer\\[" + val + "\\]").hide();
var manufacturer = [1,2,3];
参考:

另一个不起作用的原因是数组中有多余的逗号

var manufacturer = [1,2,3,]; //remove the last comma
一定是这样

$(".manufacturer\\[" + val + "\\]").hide();
var manufacturer = [1,2,3];

这是因为
[]
是JQuery使用的CSS选择器中的元字符,所以必须用两个反斜杠对其进行转义

$(".manufacturer\\[" + val + "\\]").hide();
var manufacturer = [1,2,3];
参考:

另一个不起作用的原因是数组中有多余的逗号

var manufacturer = [1,2,3,]; //remove the last comma
一定是这样

$(".manufacturer\\[" + val + "\\]").hide();
var manufacturer = [1,2,3];

css可见性:我认为隐藏可能会起作用。在某些浏览器中,结尾的逗号是个问题,你应该删除它。但这不是问题所在,该函数在这些浏览器中不会起任何作用。请告诉我们“下一个密码”@Surinder,来吧。胡说八道。它不起作用。这是因为选择器中的
[]
是一个必须转义的元字符CSS可见性:隐藏我认为可能会起作用。在某些浏览器中,结尾的逗号是一个问题,您应该删除它。但这不是问题所在,该函数在这些浏览器中不会起任何作用。请告诉我们“下一个密码”@Surinder,来吧。胡说八道。它不起作用,这是因为选择器中的
[]
是一个必须转义的元字符,它将隐藏包含制造商的类中的所有元素,但该类不太正确。它应该以开始,而不是包含将隐藏所有元素的类包含制造商,这是不正确的。它应该以开头,而不是包含+1,并且您需要指向数组中的额外逗号,您将得到另一个+1;)+1,您还需要指向数组中的额外逗号,您将得到另一个+1;)