我有一个包含多个隐藏div的页面。单击相应的链接时,div内容会显示自己,同时隐藏可能已打开的任何其他div。我已成功运行此功能而没有错误here。这是一个简单的表演/隐藏,没什么特别的。
现在我正在构建一个新页面,除了一个div中有一个iFrame之外,它几乎完全相同,它正在拉入一个带有更新版本jQuery的页面(该网站正在运行1.3。 2,遗憾的是我无法升级。
当我尝试通过单击站点中的其他链接离开此新页面时,我在Firefox中看到“语法错误,无法识别的表达式:#”,而在IE8中,它显示Line:19 错误:抛出并且未捕获异常,然后单击“是”进行调试时出现“语法错误,无法识别的表达式:ad +”。然后我得到另一个错误,告诉我“对象不支持属性或方法”这一行:
$("#" + $(this).attr("class")).show().siblings('div').hide();
这是否因为iFrame页面上使用的第二个jQuery库而发生?我唯一可以想到的是为什么它在一个页面而不是另一个页面上工作。
带代码的Here is a fiddle - 如果您单击页面顶部的“主页”链接,则可以在控制台中看到语法错误。
以下是页面上脚本标记的完整内容。当我删除它时,我没有错误所以它必须在这里。我确实注意到单引号和双引号的混合,但当我尝试将其更改为其中一个时仍然出现错误:
$(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();
});
});
答案 0 :(得分:0)
你的错误throwin代码行gor错误的选择器: $(“。”+ $(this).attr(“class”))。show()。siblings('div')。hide();
你的Statement选择一个空数组,这个doenst有任何名为“show()”的方法
或者您确实将自己的ID作为类属性?