我在 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/