Javascript 打开和关闭多个div(几乎正常工作)

Javascript 打开和关闭多个div(几乎正常工作),javascript,css,hide,toggle,show,Javascript,Css,Hide,Toggle,Show,我有这个: function toggleCharts() { var x, divArray = ["item_4746983", "item_4491867"]; for (x in divArray) { if (x) { document.getElementById(divArray[x]).style.display = 'block'; } } <button onClick="toggleCharts();">Charts</b

我有这个:

function toggleCharts() {
var x, divArray = ["item_4746983", "item_4491867"];
for (x in divArray) {
    if (x) {
        document.getElementById(divArray[x]).style.display = 'block';
    }
}

<button onClick="toggleCharts();">Charts</button>
item_4746983
item_4491867
是我希望在单击图表时显示或隐藏的缩略图


代码可以工作,当我单击按钮时它们会显示出来,但我无法通过再次单击按钮来找出隐藏它们的代码。

检查div是否已经显示并更改显示。下面的代码应该可以工作

var div = document.getElementById(divArray[x])
var shown = div.style.display;

if ("block" == shown) {
    div.style.display = none;
} else {
    div.style.display = block;
}
这里有一个链接,显示了各种方法来做你想做的事情:

检查div是否已显示并更改显示。下面的代码应该可以工作

var div = document.getElementById(divArray[x])
var shown = div.style.display;

if ("block" == shown) {
    div.style.display = none;
} else {
    div.style.display = block;
}
这里有一个链接,显示了各种方法来做你想做的事情:

function toggleCharts() { 
    var divArray = ["item_4746983", "item_4491867"], i, ele;
    for (i=0; i < divArray.length; i++) {
        ele = document.getElementById(divArray[i]);
        ele.style.display = ele.style.display === 'block' ? 'none' : 'block';
    }
}
函数切换图表(){
var divArray=[“项目_4746983”,“项目_4491867”],i,ele;
对于(i=0;i

function toggleCharts() { 
    var divArray = ["item_4746983", "item_4491867"], i, ele;
    for (i=0; i < divArray.length; i++) {
        ele = document.getElementById(divArray[i]);
        ele.style.display = ele.style.display === 'block' ? 'none' : 'block';
    }
}
函数切换图表(){
var divArray=[“项目_4746983”,“项目_4491867”],i,ele;
对于(i=0;i
不是按id设置样式,而是按类设置样式:

.hiddenThumbnail {
    display:none;
}
然后将
hiddenThumbnail
类应用于这两个项目并从中移除。这使您的css代码更小,并且使所有内容都更易于维护。有关如何修改类的指南


或者,使用类似的库(我相信jquery也有类似的函数)。

不要按id、按类设置样式:

.hiddenThumbnail {
    display:none;
}
然后将
hiddenThumbnail
类应用于这两个项目并从中移除。这使您的css代码更小,并且使所有内容都更易于维护。有关如何修改类的指南


或者,使用类似的库(我确信jquery也有类似的函数)。

这不是问题所在,但不应该使用
for..in
来迭代这些类型的数组。这不是问题所在,但不应该使用
for..in
来迭代这些类型的数组