繁体   English   中英

脚本可在Chrome中运行,但不能在IE中运行

[英]Script works in Chrome but not IE

这很简单,但是我不知道为什么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相同的名称来创建全局变量,因此这可能就是为什么它有时起作用的原因,但是您不应依赖于此。

该脚本根本不起作用,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";

        }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM