我希望你们能帮我解决这个问题。我有以下代码
</textarea>
<br />Word Count: <input type="text" name="c" value="311" size="5" onkeyup="cnt(document.script.w,this)" />
</form>
<script type="text/javascript">
var myNumValue = document.getElementById('c').value;
var myNum = parseInt(myNumValue);
var upperLimit=200;
var lowerLimit=10;
if(upperLimit == lowerLimit)
{
document.getElementById('div1').style.visibility='visible';
}
</script>
<div id="div1" style="visibility: hidden;">
Super cool hidden div!
</div>
出于某种原因,我无法让 div 显示。我已经尝试将上下设置相同并在 if 中使用 ==,if 中的任何内容都会显示(例如,如果执行 document.write 它将显示)但由于某种原因 div 不会显示。
我错过了什么?
谢谢!
凯文
最佳答案
您的第一个问题是输入没有 id
因此,正如 Sarfraz 所说,document.getElementById('c')
会出错。
但这不是唯一的关键问题。
您的脚本不在函数中,因此它会在解析后立即运行。
div 元素出现在文档中 script 元素之后,因此浏览器在脚本运行时不知道它的存在。
document.getElementById('div1')
会因此出错。
要么将 script 元素移动到 div 元素之后,要么将其包装在一个函数中并延迟执行,直到元素存在后将触发的事件(例如 onload(标准)或 ondomready(许多 JS 库提供)。
关于Javascript 显示一个 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4066786/