0

我有一个包含多个隐藏 div 的页面。单击相应链接时,div 内容会显示出来,同时隐藏可能已打开的任何其他 div。我让这个功能成功运行,没有错误。这是一个简单的显示/隐藏,没有什么花哨的。

现在我正在构建一个新页面,除了一个 div 中有一个 iFrame 之外,它几乎完全相同,它正在拉入一个带有更新版本 jQuery 的页面(有问题的站点正在运行 1.3.2,我不幸的是,无法升级)。

当我尝试通过单击站点中的另一个链接离开这个新页面时,我在 Firefox 中看到“语法错误,无法识别的表达式:#”,在 IE8 中,它显示 Line: 19 Error: Exception throwed and not catch,然后是“当我单击“是”进行调试时,语法错误,无法识别的表达式:ad+”。然后我收到另一个错误,告诉我“对象不支持属性或方法”这一行:

            $("#" + $(this).attr("class")).show().siblings('div').hide(); 

这是因为 iFrame 中的页面上使用了第二个 jQuery 库吗?我能想到的唯一一件事就是为什么它在一页上而不是另一页上工作。

这是代码的一个小技巧 - 如果您单击页面顶部的主页链接,您可以在控制台中看到语法错误。

这是页面上脚本标签的完整内容。当我删除它时,我没有错误,所以它一定是这里的东西。我确实注意到单引号和双引号的混合,但是当我尝试将其更改为一个或另一个时仍然出现错误:

        $(document).ready(function() {
        // Optional code to hide all divs
                    $("div" + ".menu").hide();
                      // Show chosen div, and hide all others
                    $("a").click(function ()
                    {
                        $("#" + $(this).attr("class")).show().siblings('div').hide();
                    });
        });
4

1 回答 1

0

你的错误抛出代码行错误的选择器: $("." + $(this).attr("class")).show().siblings('div').hide();

您的语句选择了一个空数组,并且它没有任何名为“show()”的方法

或者你真的把你的 id 作为一个类属性?

于 2013-08-01T20:17:21.580 回答