根据JavaScript对象的结果显示/隐藏div

根据JavaScript对象的结果显示/隐藏div,javascript,css,dom,show,Javascript,Css,Dom,Show,我有5个隐藏的div,只有在对象项为true时才能显示 .colors{ display: none; } 过滤所有真实项目后,如何仅显示相应的div?您可以根据颜色值更改每个div的css: var颜色={ 蓝色:错, 瑞德:错, 格林:没错, 黄色:是的 }; Object.keys(colors).forEach(key=>{ document.getElementById(key).style.display=colors[key]?'block':'no

我有5个隐藏的div,只有在对象项为true时才能显示

    .colors{
      display: none;
    }
过滤所有真实项目后,如何仅显示相应的div?

您可以根据颜色值更改每个div的css:

var颜色={
蓝色:错,
瑞德:错,
格林:没错,
黄色:是的
};
Object.keys(colors).forEach(key=>{
document.getElementById(key).style.display=colors[key]?'block':'none';
});
.colors{
显示:无;
}
蓝色
红色
绿色

黄色
将过滤方法更改为此

for(let key in colors) {
    if(colors[key] == true) {
    document.getElementById(key).style.display = "block"
  }
}

检查JsBin,这将起作用:迭代属性,如果键为true,则将id样式更改为block

var colors = { blue: false, red: false, green: true, yellow: true };

for (var color in colors) {
    if (colors.hasOwnProperty(color)) {
        if(colors[color]) {
          document.querySelector(`#${color}`).style.display='block'
        }
    }
}
for(let key in colors) {
    if(colors[key] == true) {
    document.getElementById(key).style.display = "block"
  }
}
var colors = { blue: false, red: false, green: true, yellow: true };

for (var color in colors) {
    if (colors.hasOwnProperty(color)) {
        if(colors[color]) {
          document.querySelector(`#${color}`).style.display='block'
        }
    }
}