3

最初,div id =“showHide”是不可见的。当vall的值不为 null 时,我想让它可见。但是代码不起作用。尽管变量 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>

当我登录控制台时,我得到了错误:

未捕获的语法错误:意外令牌(

并且两个警报框也没有显示。

4

7 回答 7

7

尝试:

mydiv.style.display = "block";

代替

mydiv.style.visibility = "visible";
于 2012-06-20T04:18:02.780 回答
2

visibility并且display是不同的。相反,您应该将display值从更改noneblock( a 的默认值<div>):

mydiv.style.display = "block";
于 2012-06-20T04:18:48.083 回答
2

您确定在调用您的 JS 之前实际已加载内容吗?尝试将您的 JS 移动到正文的末尾,或者将您的代码包装在一个可以在页面加载时调用的函数中。如果你想要真正的花哨,你应该使用 jQuery 来帮助你解决这个问题。http://api.jquery.com/ready/

于 2012-06-20T04:23:48.907 回答
1
<div id =" showHide" style="display:none"> 

/*HTML TABLE*/ 
</div> 

去掉 id 的空格,把 Js 代码放到 div 后面,试试看。

于 2012-06-20T04:22:59.860 回答
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";

    }

于 2012-06-20T05:22:50.540 回答
0

我认为当脚本标记中的代码运行时,它找不到具有该 ID 的 div 标记,并且当 div 在页面中呈现时,您再次将其可见性设置为隐藏。

我建议将您的脚本标签放在 div 之后。

于 2012-06-20T04:21:11.107 回答
0

代替

 var mydiv = getElementById.("showHide");

利用

 var mydiv = document.getElementById.("showHide");
于 2017-03-10T06:54:24.840 回答