这很简单,但是我不知道为什么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";
        }

    }


如果我更改Dropdown的值,则调用它:

  <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/

10-13 01:24