我在我的实际网站上遇到了问题,而在Internet Explorer的页面第一次加载时,jQuery将无法加载,并且错误“SCRIPT438:Object不支持此属性或方法”被抛出。 当我重新加载页面时,这个错误通常会消失。
这是我的代码:
<script type="text/javascript">
jQuery(document).ready(function() {
jQuery(".item-473 a").hover(function() {
jQuery('.menu_image').removeAttr('style').attr('style', 'background-image: url(/images/volunteers_navbar.png);');
}, function() {
jQuery('.menu_image').removeAttr('style').attr('style', 'background-image: url(/images/adults_navbar.png);');
});
这是我的HTML:
<ul class="nav-child unstyled small">
<div class="menu_image" style="background-image: url(/images/adults_navbar.png);"></div>
<li class="item-472">
<a href="/activities/adults">Adults</a>
</li>
<li class="item-473">
<a href="/activities/volunteers">Volunteers</a>
</li>
<li class="item-474">
<a href="/activities/children-schools">Children & Schools</a>
</li>
<li class="item-475">
<a href="/activities/clubs-coaches">Clubs & Coaches</a>
</li>
</ul>
我尝试过一些东西,但似乎无法阻止这个问题的发生。 控制台说问题出在这一行:
jQuery(".item-473 a").hover(function() {
有谁知道为什么会这样? 感谢
答案 0 :(得分:0)
以为我会回答这个问题以防其他人遇到这个问题。
我发现这个问题只发生在Internet Explorer 10中,当我实现jQuery库插件时,例如jCycle Lite和NivoSlider。
我发现用if语句包装我的jQuery函数调用消除了正在发生的问题并允许页面正确加载。
例如:
jQuery('.banner_slideshow .bannergroup_banner_slider').nivoSlider({
effect: 'random'
});
成为:
if(jQuery('.banner_slideshow .bannergroup_banner_slider').length) {
jQuery('.banner_slideshow .bannergroup_banner_slider').nivoSlider({
effect: 'random'
});
}
我不完全确定为什么这会导致IE10出现问题,但它已经对问题进行了排序,希望对其他人有所帮助。
由于