javascript - 脚本在 Chrome 中有效,但在 IE 中无效

标签 javascript internet-explorer google-chrome cross-browser

非常简单,但我不知道为什么 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/

相关文章:

javascript - 如果站点上禁用了 javascript,内容脚本是否仍然运行?

javascript - Html 表格转 PDF 我想对其进行格式化(页码,第二页不好)

javascript - 在 JavaScript 点击处理程序之间传递变量

jquery - 选择高度的 IE7 问题

php - IE 以不同于 Firefox、Chrome 和 iOS 的方式呈现 HTML

javascript - Chrome 欺骗插件

javascript - 从 OpenLayers 功能中删除所有弹出窗口

javascript - 仅限 Firefox 的罕见故障 : textarea shifted

css - IE和绝对定位div

javascript - Chrome 中的 onblur onfocus 无限循环问题