javascript - jQuery/JS - IE 错误 - 对象不支持属性或方法 'hasClass'

标签 javascript jquery internet-explorer

我在 IE 11 中收到此错误,但在其他浏览器中没有收到此错误,看起来像是简单的代码,但也许我错过了一些东西?下面是代码示例。注意我可以替换 parent 。与选择器一起工作正常。

$('.hs-search input[type="submit"]').click(function(){

    parent = $('.header-search');

    if(parent.hasClass('active')){
        return true;
    }else{
        parent.addClass('active');
        return false;
    }
});

这是正在生成的垃圾标记的示例。

<div class="header-search">
    <div class="hs-search">
        <div id="ctl00_header1_SearchInput1_pnlSearch" class="searchpanel " onkeypress="javascript:return WebForm_FireDefaultButton(event, 'ctl00_header1_SearchInput1_btnSearch')" style="display:inline;">
            <input onfocus="javascript:watermarkEnter(this, 'Search');" onblur="javascript:watermarkLeave(this, 'Search');" name="ctl00$header1$SearchInput1$txtSearch" type="text" id="ctl00_header1_SearchInput1_txtSearch" title="Site Search" class=" " style="display: none;">
            <input type="submit" name="ctl00$header1$SearchInput1$btnSearch" value="search" id="ctl00_header1_SearchInput1_btnSearch">
        </div>
    </div> 
</div>

最佳答案

使用此代码:

parent = $('.header-search');

“parent”实际上指的是 Window 对象,因为它会冒泡到全局范围。

这样定义:

var parent = $('.header-search');

然后它就会被限制在本地范围内,并且应该按照您期望的方式工作。

关于javascript - jQuery/JS - IE 错误 - 对象不支持属性或方法 'hasClass',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30244390/

相关文章:

javascript - 循环遍历javascript中动态添加的输入类型单选列表的列表

javascript - 获取 "object HTMLInputElement"的值和函数错误

javascript - IE9 中的选择问题 - 在其他浏览器中它工作正常

javascript - 如何更改谷歌地图标记颜色

javascript - 有没有办法打破谷歌浏览器中的警告?

javascript - jQuery 不响应单选检查

internet-explorer - 如何清除IE的收藏夹缓存?

javascript - IE 中的 jquery.unload 问题

javascript - 如果数据表中只有一页,则禁用分页

javascript - 问题 | JQuery slide 强制我的页面滚动到顶部