Javascript jQuery-编写新插件-this.foreach不';行不通

Javascript jQuery-编写新插件-this.foreach不';行不通,javascript,jquery,html,Javascript,Jquery,Html,我目前正在写一些JS的东西,因为它可能会在我的公司重新使用,所以我想把它做好,并把它作为一个jQuery插件来写(jQuery绝对是为了方便,所以我决定依赖它) 现在,我是一个在jQuery方面比较有经验的开发人员,但我有一个问题可能非常容易解决,但我仍然不知道哪里出了问题 我包括了来自CDN的jQuery文件,然后是我的插件文件,最后是我用来测试插件的js文件 <script type="text/javascript" src="http://code.jquery.com/jquer

我目前正在写一些JS的东西,因为它可能会在我的公司重新使用,所以我想把它做好,并把它作为一个jQuery插件来写(jQuery绝对是为了方便,所以我决定依赖它)

现在,我是一个在jQuery方面比较有经验的开发人员,但我有一个问题可能非常容易解决,但我仍然不知道哪里出了问题

我包括了来自CDN的jQuery文件,然后是我的插件文件,最后是我用来测试插件的js文件

<script type="text/javascript" src="http://code.jquery.com/jquery-2.1.4.min.js"></script>
<script type="text/javascript" src="js/jquery.tsnowglobe.js"></script>
<script type="text/javascript" src="js/main.js"></script>
这显然只是为了测试一切是否正常

问题是:当我使用我的插件时,我没有得到任何输出。 我在HTML部分定义了一个画布(我也尝试了多个,没有成功):

问题是,我完全没有输出。现在,我想我可能已经发现了问题:在我的函数定义中,
这个
不是数组。真正让我恼火的是,所有教程都使用相同的代码作为开始,因此我认为它应该可以工作,即使我将其包装在一个数组中,我也无法访问循环中的任何DOM元素属性,因为在这种情况下,
this
并不引用任何DOM元素本身


提前谢谢你帮助我!我真的不确定我能做些什么来解决这个问题。

您有一个语法错误。确保查看您的控制台。(您没有正确地关闭
每个
关闭
。each()
循环-它在这里工作:抱歉,我没有复制代码,因为其中已经有很多内容(类定义等)。没有错误。也就是说,我试着复制你的代码,但它突然开始工作,尽管它完全一样。很奇怪。谢谢,伙计们!
(function($) {
    $.fn.snowglobe = function(options) {
        return this.each(function() {
            console.log("Test!");
        };  
    };
}(jQuery));
<canvas id="snowglobe"></canvas>
$("canvas").snowglobe();