通过display:none使元素不可见如何使用JavaScript使元素再次可见?

通过display:none使元素不可见如何使用JavaScript使元素再次可见?,javascript,html,dom,Javascript,Html,Dom,我有这个HTML设置,所以这些元素在某个函数运行之前不会显示。HTML本身很好 <div id="aftlogin"> <div id="priv1" style="display: none;"> <p>Welcome there!</p> </div> <div id="priv2" style="display: none;"> </div> <

我有这个HTML设置,所以这些元素在某个函数运行之前不会显示。HTML本身很好

<div id="aftlogin">
    <div id="priv1" style="display: none;">
        <p>Welcome there!</p>
    </div>
    <div id="priv2" style="display: none;">
    </div>
    <div id="priv3" style="display: none;">
    </div>
    <div id="priv4" style="display: none;">
    </div>
    <div id="priv5" style="display: none;">
    </div>
</div>
不管怎样,代码都不起作用。如果我不注释它,整个函数将停止工作,因此很难准确指出问题所在。所有的语法都是正确的,所以我做了一些别的事情,让JavaScript神灵们感到不安


这里是一个JSFIDLE演示:

在查看页面后,我注意到您有一个
div
元素,您希望在
父元素中同时显示该元素


移动您的元素,使其成为兄弟,它将解决问题

您只需使用CSS就可以做到这一点。这是一个典型的例子,说明了如何使用CSS的强大功能来真正减少代码库

对特权之类的东西的美化是,您只需将角色类添加到页面顶部,并使用CSS选择器来显示和隐藏内容

这是一把小提琴,它展示了:

#priv1,#priv2,#priv3,#priv4,#priv5{
显示:无;
}
.priv1#priv1{
显示:块;
}
.priv2#priv1、.priv2#priv2{
显示:块;
}
.priv3#priv1、.priv3#priv2、.priv3#priv3{
显示:块;
} 
.priv4#priv1、.priv4#priv2、.priv4#priv3、.priv4#priv4{
显示:块;
}
.priv5#priv1、.priv5#priv2、.priv5#priv3、.priv5#priv4、.priv5#priv5{
显示:块;
}

欢迎光临


什么是var
角色
?@publimeobject它只是定义了用户对页面的访问级别。脚本中列出了所有值-即具有priv5的用户比具有Priv3的用户拥有更多的权限您知道
if
语句中的条件应包含在
()
中,并且比较运算符是
=
而不是
=
(这是一个赋值),对吗?别忘了==而不是=我在开发工具中看到了您的DOM,这是一个孩子谢谢,但我需要JS,因为它只应该在用户单击按钮后显示元素,并且一些逻辑是正确的。否则,它不应显示。否则是的,我会使用CSSYeah,这就是重点。当用户单击login按钮时,您将角色作为类应用到顶部。然后正确的元素全部显示出来。非常快,非常简单,非常强大。这是去的路,巴德!我不确定我是否明白。。。您提供的示例中没有逻辑。。。它如何知道是否隐藏元素?很简单。在函数中,您不需要所有代码,只需执行document.getElementById(“aftlogin”).className=role;然后删除初始的类值,我将更新我的示例。
if (role == "priv1") {
    document.getElementById("priv1").style.display = "block";
}
if (role == "priv2") {
    document.getElementById("priv1").style.display = "block";
    document.getElementById("priv2").style.display = "block";
}
if (role == "priv3") {
    document.getElementById("priv1").style.display = "block";
    document.getElementById("priv2").style.display = "block";
    document.getElementById("priv3").style.display = "block";
}
if (role == "priv4") {
    document.getElementById("priv1").style.display = "block";
    document.getElementById("priv2").style.display = "block";
    document.getElementById("priv3").style.display = "block";
    document.getElementById("priv4").style.display = "block";
}
if (role == "priv5") {
    document.getElementById("priv1").style.display = "block";
    document.getElementById("priv2").style.display = "block";
    document.getElementById("priv3").style.display = "block";
    document.getElementById("priv4").style.display = "block";
    document.getElementById("priv5").style.display = "block";
}