我正在使用Hackernoon中的本教程,但出现错误:
jQuery.fn.sortDomElements = (function() { ^ ReferenceError: jQuery is not defined
在app.js文件中。我认为是因为某种原因,app.js和index.html文件未链接在一起。在index.html文件中,包括js文件和jquery脚本。 (link to app.js file)
我尝试将代码中的三个脚本源代码行(428-430 index.html)向上移动,以确保在页面加载之前就将它们包括在内,但这没有用。
index.html文件和app.js文件对我来说都与示例存储库中的相同。
这是app.js第8行。
// Make a jQuery sort for the chat log based on message timetoken
(tt)
jQuery.fn.sortDomElements = (function() {
return function(comparator) {
return Array.prototype.sort.call(this,
comparator).each(function(i) {
this.parentNode.appendChild(this);
});
};
})();
答案 0 :(得分:2)
很可能您丢失了一些文件,这就是为什么它会引发错误,您应该在要使用的所有页面中都包含jQuery
您的功能也应该这样
jQuery.fn.sortDomElements = (function() {
});
答案 1 :(得分:-1)
该错误只能由以下三种情况之一引起:
您的JavaScript文件未正确加载到页面中 您有一个拙劣的jQuery版本。
之所以会这样,是因为有人编辑了核心文件,或者插件可能覆盖了$变量。
您需要在页面完全加载之前以及JavaScript完全加载之前运行JavaScript。
请看一下这个问题并找到解决方法Post