我希望你们可以帮助我。我有以下代码
</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显示出来。我已经尝试设置上部和下部相同并使用== in if,if显示内部的任何内容(例如,如果它将显示一个document.write)但由于某种原因div不会显示。
我错过了什么?
谢谢!
凯文
答案 0 :(得分:2)
你的第一个问题是输入没有id
所以,正如Sarfraz所说,document.getElementById('c')
会出错。
但这不是唯一的关键问题。
您的脚本不在函数中,因此它将在解析后立即运行。
div元素出现在之后脚本元素中,因此浏览器在脚本运行时不知道它是否存在。
document.getElementById('div1')
因此会出错。
将script元素移动到div元素之后,或者将其包装在函数中并延迟执行,直到在元素存在之后触发的事件(例如onload(标准)或ondomready(由许多JS库提供)。
答案 1 :(得分:1)
您尚未为您的字段指定id
属性:
<input type="text" name="c" value="311" size="5" onkeyup="cnt(document.script.w,this)" />
应该是:
<input type="text" name="c" id="c" value="311" size="5" onkeyup="cnt(document.script.w,this)" />
因为你错过了那里的id
,你很可能会收到错误而你的脚本会在中间停止;您的代码未达到if
条件的原因。
答案 2 :(得分:0)
您是否忘了关闭<script>
标签,或者您是不是剪切/粘贴了它?
该行
if(upperLimit == lowerLimit)
永远不会是真的;你刚才将upperLimit定义为不等于lowerLimit。
答案 3 :(得分:-1)
请试试这个
document.getElementById('div1').style.display = 'block';
答案 4 :(得分:-1)
你还没有创建div1的对象 首先创建对象。
<div id="div1" style="visibility: hidden;">
Super cool hidden div!
</div>
<script type="text/javascript">
var myNumValue = document.getElementById('c').value;
var myNum = parseInt(myNumValue);
var upperLimit=200;
var lowerLimit=200;
if(upperLimit == lowerLimit)
{
document.getElementById('div1').style.visibility='visible';
}
</script>