这很简单,但我不知道为什么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>
无法使用带文字的按钮
我无法找到它。有没有人有想法?
答案 0 :(得分:5)
执行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相同的名称创建一个全局变量,这可能就是它有时工作的原因,但你不应该依赖它。
答案 1 :(得分:1)
这个脚本根本不应该工作,chrome通过ID查找元素来挽救它。
你应该改变它:
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";
}
}