我在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>
答案 0 :(得分:2)
使用此代码:
parent = $('.header-search');
&#39;父&#39;实际上是指Window对象,因为它会冒泡到全局范围。
以这种方式定义:
var parent = $('.header-search');
然后将其局限于本地范围,并且应该按照您的预期工作。