JavaScript runtime error: Object doesn't support property or method 'accordion'

JavaScript runtime error: Object doesn't support property or method 'accordion'

这个问题似乎在这里有几个问题。但是 none 的答案似乎对我有用。

没有导入任何其他库,只有这 2 个。 我什至还没有对它做任何事情,只是你在这里看到的代码导致了错误。

<head>

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

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

我尝试了几种不同的所谓 "solutions",但它们都给出了相同的错误。我不确定还需要做些什么才能让它发挥作用。

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

@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>

但这不起作用,它只是像正常一样显示 'Header' 和 'Content' 文本

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

在这种情况下,您的link到jqueryui是无效的。

改为添加此 link:

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

问题是您的包在包含 jquery-ui.

之后第二次执行核心 jquery 文件

这是正在发生的事情:

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

2) jquery-ui源文件被执行。这会将许多功能附加到这个已经存在的jquery 对象。

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

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