除非满足某些条件,否则我想知道隐藏div的正确方法。我试图添加一个包含登录错误的div,只有在出现错误时才会出现。
<div id= "error" class="alert alert-danger" hidden="hidden" role="alert">
${loginError}
</div>
我尝试添加脚本但它没有用。
<script type="text/javascript">
if(null != request.getAttribute("loginError")){
document.getElementById("error").hidden = "";
}
</script>
关键是要实现,何时何地执行代码 - 服务器上的JSP,请求和呈现页面时(即在响应发送到浏览器之前)和浏览器中的Javascript,浏览器收到之后生成的响应。因此,JS中没有request
变量,所以
if(null != request.getAttribute("loginError")){
没有意义。我建议如下:
<div id= "error" class="alert alert-danger" ${ empty loginError ? '' : 'hidden'} role="alert">
(hidden
属性不需要有值,如果它存在,元素将被隐藏 - 无论它的值是什么。)
您需要将隐藏的值更改为false。无论如何,空字符串添加隐藏到元素的属性。因此,要更改html元素的隐藏状态,您应该使用布尔值。 qazxsw poi