非常简单,但我不知道为什么 IE 不执行我的 innerHTML 更改和其他操作。
function changeele2() {
document.getElementById("eleme2");
document.getElementById("workout");
document.getElementById("workoutweek");
if(workout.value == "Yes") {
eleme2.style.display = "inline-block";
workoutweek.className += " requiredField";
}
}
如果我更改下拉列表的值,它会调用:
<select id="workout" onchange="changeele2()">
<option>No</option>
<option>Yes</option>
</select>
带文本的按钮都不起作用
我就是找不到。有人有想法吗?
最佳答案
当您执行 document.getElementById("eleme2")
时,您必须保存该操作的结果并将其用于后续对该元素的访问。
function changeele2() {
var eleme2 = document.getElementById("eleme2");
var workout = document.getElementById("workout");
var workoutweek = document.getElementById("workoutweek");
if (workout.value == "Yes") {
eleme2.style.display = "inline-block";
workoutweek.className += " requiredField";
}
}
有些浏览器会创建一个与元素 ID 同名的全局变量,这可能就是它有时能正常工作的原因,但你不应该依赖它。
关于javascript - 脚本在 Chrome 中有效,但在 IE 中无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16071326/