SCRIPT438:Object不支持此属性或方法 - jQuery中的错误

时间:2013-02-06 13:07:11

标签: jquery

我在我的实际网站上遇到了问题,而在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() {

有谁知道为什么会这样? 感谢

1 个答案:

答案 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出现问题,但它已经对问题进行了排序,希望对其他人有所帮助。

由于