JavaScript运行时错误:对象不支持属性或方法'accordion'

时间:2015-07-15 22:44:07

标签: asp.net-mvc accordion jquery-ui-accordion

这个问题似乎在这里有几个问题。但是这些答案似乎都不适合我。

没有任何其他库被导入,这些是唯一的2。 我甚至没有做任何事情,只是你在这里看到的代码会导致错误。

<head>

<script src="~/Scripts/jquery-1.10.2.min.js"></script>
<script src="~/Scripts/jquery-ui.js"></script>

<script>
    $(function () {
        $("#accordion").accordion();
    });
</script>

我尝试了所谓的“解决方案”,但是他们都给出了同样的错误。我不知道还有什么可以让它发挥作用。

编辑: 我设法通过这样做来让它不显示错误

@Scripts.Render("~/bundles/jquery")
<script src="~/Scripts/jquery-ui.js"></script>

<script>
    $(function () {
        $("#accordion").accordion();
    });
</script>

<div id="accordion">
    <h3>Header</h3>
    <div>Content</div>
</div>

但这不起作用,只是像正常一样显示'标题'和'内容'文字

2 个答案:

答案 0 :(得分:5)

问题是,在您收录jquery之后,您的捆绑包第二次执行核心jquery-ui文件。

这里发生了什么:

1)执行jquery源文件。这定义了jquery对象

2)执行jquery-ui源文件。这会将许多函数附加到此已存在的jquery对象。

3)执行包含jquery源的包。这将重新定义jquery对象,失去步骤2中附加的所有功能。

确保在jquery包之后包含jquery-ui库。

答案 1 :(得分:1)

每当您收到blah is definedblah is unsupported错误时,首先要检查的是您的javascript源地址是否有效。

在这种情况下,您指向jquery ui的链接无效。

添加此链接:

<script src="http://code.jquery.com/ui/1.7.3/jquery-ui.js"></script>