最初div id =“showHide”是不可见的。我想在 vall的值不为空时使其可见。但是代码不起作用。虽然变量vall正在获取值,但div仍然不可见。 js codescript有什么问题?我正在使用jsp。
<head>
</head>
<body>
<div id =" showHide" style="display:none">
/*HTML TABLE*/
</div>
<script type="text/javascript">
alert("first alert");
var vall = "<%=vall%>";
if (vall != null)
{
var mydiv = getElementById.("showHide");
mydiv.style.display ="block";
alert("second alert");
<% System.out.println("jsvar="+vall);%>
}
</script>
</body>
当我登录控制台时出现错误:
uncaught syntaxError:意外令牌(
并且警报框也都没有显示。
答案 0 :(得分:7)
尝试:
mydiv.style.display = "block";
而不是
mydiv.style.visibility = "visible";
答案 1 :(得分:2)
visibility
和display
不同。相反,您应该将display
值从none
更改为block
(<div>
的默认值):
mydiv.style.display = "block";
答案 2 :(得分:2)
在调用JS之前,您确定内容是否已实际加载?尝试将JS移动到正文的末尾,或者将代码包装在可以在页面加载时调用的函数中。如果你想要真正的幻想,你应该使用jQuery来帮助你解决这个问题。 http://api.jquery.com/ready/
答案 3 :(得分:1)
<div id =" showHide" style="display:none">
/*HTML TABLE*/
</div>
删除id的空格并将Js代码放到div的后面,试试吧。
答案 4 :(得分:1)
我想你忘记申报变量mydiv。
替换此行 mydiv = document.getElementById(“showHide”);
通过
var mydiv = document.getElementById(“showHide”);
enter code here<div id ="showHide" style="display:none">
/*HTML TABLE*/
// javascript代码只是检查一下
var vall = 10;
var mydiv = null
if (vall != null)
{
mydiv = document.getElementById("showHide");
mydiv.style.display ="block";
}
答案 5 :(得分:0)
我认为当脚本标记中的代码运行时,它找不到具有该id的div标记,并且当div在页面中呈现时,您再次将其可见性设置为隐藏。
我建议将你的脚本标记放在div之后。
答案 6 :(得分:0)
而不是
var mydiv = getElementById.("showHide");
使用
var mydiv = document.getElementById.("showHide");