javascript document.getElementById不工作
你知道为什么这个简单的javascript不起作用吗?它正在工作 Firefox、Chrome不适用于IE Safari和Opera。 你能帮助我吗? 似乎document.getElementById在IE、Safari和Opera中存在一些问题。为什么?javascript document.getElementById不工作,javascript,getelementbyid,Javascript,Getelementbyid,你知道为什么这个简单的javascript不起作用吗?它正在工作 Firefox、Chrome不适用于IE Safari和Opera。 你能帮助我吗? 似乎document.getElementById在IE、Safari和Opera中存在一些问题。为什么? <form name="formular" action="test.php"> <select id="testMenu" name="testMenu" onChange="testOptions()
<form name="formular" action="test.php">
<select id="testMenu" name="testMenu" onChange="testOptions()">
<option id="X2" value="2">2</option>
<option id="X3" value="3" selected>3</option>
<option id="X4" value="4">4</option>
</select>
<select id="nextMenu" name="nextMenu">
<option id="B1" value="1">B1</option>
<option id="B2" value="2">B2</option>
</select>
</form>
<script type="text/javascript">
var choose_option =3;
function testOptions() {
var choose_option = document.getElementById("testMenu").selectedIndex+2;
if (choose_option == 4){
document.getElementById("B2").style.display="none";
}else{
document.getElementById("B2").style.display="block";
}
}
</script>
2.
3.
4.
地下一层
地下二层
var选择_选项=3;
函数testOptions(){
var choose_option=document.getElementById(“testMenu”)。selectedIndex+2;
如果(选择_选项==4){
document.getElementById(“B2”).style.display=“无”;
}否则{
document.getElementById(“B2”).style.display=“block”;
}
}
你为什么认为getElementById
不起作用?问题更多的是无法将显示:none
应用于
元素。最简单的修复方法可能是为其设置禁用
:
document.getElementById("B2").disabled = choose_option === 4;
如果您希望它真的消失,可以通过移除它来实现:
var nextMenu = document.getElementById("nextMenu");
var b2 = document.getElementById("B2");
function testOptions() {
var choose_option = document.getElementById("testMenu").selectedIndex + 2;
if (choose_option === 4) {
if (b2.parentNode) {
b2.parentNode.removeChild(b2);
}
} else if (!b2.parentNode) {
nextMenu.appendChild(b2);
}
}
会发生什么?控制台中有错误吗?没有错误…这很奇怪,但让我们尝试一下-当您在第一个选择中选择数字4时,您应该在第二个选择中只有一个选项正确调试。您应该先测试一下
document.getElementById(“B2”)
是否与使用.style.display=value.
分开工作,这将向您显示document.getElementById(“B2”)
是否工作正常。这是正确的。我很确定用CSS隐藏s
是不可能的。你必须删除它们并适当添加它们。谢谢,禁用是个好主意,但不是在这种情况下…我需要隐藏,而不仅仅是禁用…我必须尝试使用删除,但是隐藏-删除更容易,如果无法通过隐藏Minitech来解决问题,我会使用它。好的,我尝试过删除,但除了IE之外,它已经开始在每个浏览器中工作。你知道为什么吗?你对IE也有什么解决方案吗?@jvku:哪个版本的IE?控制台中是否有任何错误?尝试记录document.getElementById(“测试菜单”)的值。选择索引。IE 8.0没有控制台问题,让我们尝试IE。。。它起作用了吗?