将值传递给js变量后显示一个具有style =“display:none”的div

时间:2012-06-20 04:15:22

标签: javascript html jsp

最初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:意外令牌(

并且警报框也都没有显示。

7 个答案:

答案 0 :(得分:7)

尝试:

mydiv.style.display = "block";

而不是

mydiv.style.visibility = "visible";

答案 1 :(得分:2)

visibilitydisplay不同。相反,您应该将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");