jstree is not a function

jquery jstree中经常遇到:Uncaught TypeError: $(...).jstree is not a function这个问题

已经加载了以下内容还是会报错

    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jstree/3.2.1/themes/default/style.min.css" />
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.1/jquery.min.js">script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jstree/3.2.1/jstree.min.js">script>

该回答内容部分引用GPT,GPT_Pro更好的解决问题
Uncaught TypeError $(.)jstree is not a function这个错误一般是由于没有正确引用jquery和jstree的js文件导致的。尤其是在使用cdn的时候,一定要确保引用的是正确的版本,正确的文件。

可以将上面的引用替换为:

<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jstree/3.2.1/jstree.min.js"></script>

注意要引用jquery 3.1.1及以上版本,否则会出现上述问题。

另外,在使用之前,我们还需要在页面中添加一个容器来装载树形菜单,一般来说,都是在html中添加一个div,然后在js中通过id来实现加载,具体代码如下:

<div id="myTree"></div>
$('#myTree').jstree();

总而言之,正确引用文件、添加容器以及正确使用js方法是解决这个问题的关键。
如果回答有帮助,望采纳。

该回答引用GPTᴼᴾᴱᴺᴬᴵ
这个问题通常是由于加载顺序或版本不匹配导致的。请检查以下内容:

  1. 确认以上所列的三个文件都已正确加载,可通过浏览器开发工具中的网络选项卡查看。
  2. 确认jQuery和jstree的版本是否匹配。请注意,某些版本的jstree可能需要特定版本的jQuery才能正常工作。建议使用官方文档中推荐的版本。
  3. 确认代码中是否有其他与jQuery或jstree冲突的库或代码段。
  4. 确认代码中是否有其他对jQuery或jstree的调用,这些调用可能会覆盖或修改jQuery或jstree的原始定义。

如果上述步骤都没有解决问题,建议将代码贴出来,以便更好地理解问题所在并提供更准确的解决方案。