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

都不适用带有文本的按钮

我就是找不到。 有人知道吗?

===============>>#1 票数: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相同的名称来创建全局变量,因此这可能就是为什么它有时起作用的原因,但是您不应依赖于此。

===============>>#2 票数: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";

        }
}

  ask by Hannes Schneidermayer translate from so

未解决问题?本站智能推荐: