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

时间:2015-05-14 18:11:33

标签: javascript jquery internet-explorer

我在IE 11中遇到此错误,但没有其他浏览器,看起来像简单的代码,但也许我错过了什么?以下是代码示例。注意我可以替换父。使用选择器,它工作正常。

$('.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>

1 个答案:

答案 0 :(得分:2)

使用此代码:

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

&#39;父&#39;实际上是指Window对象,因为它会冒泡到全局范围。

以这种方式定义:

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

然后将其局限于本地范围,并且应该按照您的预期工作。

相关问题