为什么这个简单的脚本不能在IE11中运行

时间:2015-01-07 09:41:52

标签: jquery html

我遇到了应用程序的问题,我通过将代码换成问题来源重新创建了同样的问题。 IE11在控制台中返回错误“'test1_1'未定义”

此代码适用于Firefox,因此我需要了解它为什么不能在IE11中运行。 希望能有所帮助,我们将不胜感激。

jQuery的:

function testAlert(row,defect){
    alert(defect);
};

HTML:

 <form>
    <div class="input-group">
       <input type="text" id="test1_1" name="test1_1" style="width:150px" readonly="true" value="test">
          <span class="btn btn-default btn-sm input-group-addon" 
                id="customer_search" 
                onclick="testAlert('1',$(test1_1).val());
          ">
             test
           </span>
    </div>
</form>  

2 个答案:

答案 0 :(得分:2)

并非所有浏览器都为具有id的元素设置全局变量。他们并不总是这样做。因此,使用window.yourNodeId通过其id获取元素被认为是不可靠的并且是一种不好的做法,您应该在此使用选择器:

onclick="testAlert('1',$('#test1_1').val());"

相关:Do DOM tree elements with ids become global variables?

答案 1 :(得分:0)

您忘记了'#'

onclick="testAlert('1',$('#test1_1').val());