Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQueryIE6和7错误_Jquery_Jquery Selectors - Fatal编程技术网

jQueryIE6和7错误

jQueryIE6和7错误,jquery,jquery-selectors,Jquery,Jquery Selectors,我有以下代码: $('#main-nav a').mouseover(function() { var name = $(this).attr("rel"); $("#subnav ul." + name).show(); }) 基本上,当链接悬停在上面时,代码只获取链接的rel属性的值,然后使任何具有相同值的类的ul出现 此代码在除IE6和IE7之外的任何其他浏览器中都可以正常工作,这会导致以下错误: 引发异常但未捕获(在我的jquery 1.4.4文件中) 对象不支持此属性

我有以下代码:

$('#main-nav a').mouseover(function() {
    var name = $(this).attr("rel");
    $("#subnav ul." + name).show();
})
基本上,当链接悬停在上面时,代码只获取链接的rel属性的值,然后使任何具有相同值的类的ul出现

此代码在除IE6和IE7之外的任何其他浏览器中都可以正常工作,这会导致以下错误:

  • 引发异常但未捕获(在我的jquery 1.4.4文件中)
  • 对象不支持此属性或方法(在iv编写的jquery脚本中)
  • 这与iv在选择器中使用了一个变量这一事实有关,如果我不使用变量,我不会得到这些错误

    问题是,虽然我需要将变量放入其中,以便它工作,但有人知道更好的方法来做到这一点,而不会导致这些错误吗


    谢谢

    据我所知,
    '#主导航a'
    返回一组
    对象。您是否尝试过对每个迭代结果

    $.each($('#main-nav a'), function (index, element) {
        element.mouseover(function() { 
            var name = $(this).attr("rel"); 
            $("#subnav ul." + name).show(); 
        });
    });
    

    您需要首先通过打印检查字符串和变量的连接是否始终成功,以创建选择器。警报(名称)是正确的,它可以是三个不同的值(sat、usa或jap),因此当这些值连接在一起时,选择器将是#subnav ul.sat,#subnav ul.usa或#subnav ul.jap这是我想要的选择器。如果我只是手动输入其中的一个选择器,而没有弄乱变量,我就不会得到错误,所以我很困惑!实际上,它在IE7中修复了它,但是IE6仍然得到了错误!我非常讨厌那个浏览器!jQuery内部不是这样做的吗?@geoffs3310:我更改了迭代方法,如果新方法有效,试试看。如果没有,那么你可能需要一步一步地解决这个问题。在IE6中启动并运行jQuery之后,从下到上验证代码的正确性——首先测试选择器,然后测试集合的大小,然后尝试让迭代工作。。你明白了。