Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 脚本在Chrome中工作,但在IE中不工作_Javascript_Internet Explorer_Google Chrome_Cross Browser - Fatal编程技术网

Javascript 脚本在Chrome中工作,但在IE中不工作

Javascript 脚本在Chrome中工作,但在IE中不工作,javascript,internet-explorer,google-chrome,cross-browser,Javascript,Internet Explorer,Google Chrome,Cross Browser,这很简单,但我不知道为什么IE不做我的innerHTML更改和其他东西 function changeele2() { document.getElementById("eleme2"); document.getElementById("workout"); document.getElementById("workoutweek"); if(workout.value == "Yes") {

这很简单,但我不知道为什么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.getElementByIdeleme2时,您必须保存该操作的结果,并将其用于随后对该元素的访问

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相同的名称生成全局变量,这可能就是它有时工作的原因,但您不应该依赖于此。

当您执行document.getElementByIdeleme2时,您必须保存该操作的结果,并将其用于随后对该元素的访问

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";

        }
}

这个脚本根本不应该工作,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";

        }
}

谢谢大家!这真的很有帮助。谢谢你们,伙计们!这真的很有帮助。Chrome给了你太多的自由。我知道我的代码在某种程度上被破坏了。谢谢您的快速响应,先生。@heanzobenzo-事实上,我认为Chrome只是在模仿IE现在已经删除的一种旧的非规范IE行为。Chrome给了您太多的自由。我知道我的代码在某种程度上被破坏了。谢谢您的快速响应,先生。@heanzobenzo-事实上,我认为Chrome只是在模仿IE现在已经删除的一种旧的非规范IE行为。