2015-07-20 125 views
0

美好的一天,简单的jQuery插件不工作

我正在写我的第一个jQuery插件。我从学习jQuery网站抓取了代码。下面是使用JavaScript的HTML:

<div>Hello World</div> 
<br> 
<br> 
<div>Hola Mundo</div> 

<a href="http://www.nbcnews.com">My Link</a> 

<script src="js/jquery-1.9.1.min.js"></script> 
<script src="js/jquery.greenify.js"></script> 
<script> 

$(function() { 
    $('div').greenify({ 
     text: "Hola", 
     color: "#FF0000" 
    }); 
}); 

这里是jquery.greenify.js:

(function($) { 

    $.fn.greenify = function(options) { 

     // This is the easiest way to have default options. 
     var settings = $.extend({ 
      // These are the defaults. 
      text: "Somewhere in time", 
      color: "#556b2f", 
      backgroundColor: "white" 
     }, options); 

     return this.each(function() { 
      $(this).text(settings.text); 

      if (settings.color) { 
       $(this).css('color', settings.color); 
      } 

      if (setting.backgroundColor) { 
       $(this).css('background-color', settings.backgroundColor); 
      } 
     }); 
    }; 

}(jQuery)); 

无论出于何种原因,我没有看到变化发生作用。我已经检查了控制台,没有错误。我试图设置断点,并在jquery.greenify.js中返回this.each以查看代码是否正在执行,而不是。我从Github下载了一个类似的例子https://github.com/taupecat/jquery-plugin确实工作。之后,我试图对代码进行建模,但仍然没有任何运气。

我希望另一组眼睛会捕捉我明显缺少的东西。

我已经检查了这个网站上的其他一些问题,但这些答案与我的问题无关。

TIA,

COSON

+0

错字:'setting.backgroundColor'应该是'settings.backgroundColor' 。我的JS控制台出现错误。 – Barmar

+0

修复后,它适用于我:http://jsfiddle.net/barmar/5rcrv4wt/1/ – Barmar

+0

@Barmar,谢谢你的收获。 – coson

回答

0

在JavaScript的结束时,添加结束

</script> 

干杯

+0

谢谢,但同时,我完全尴尬。我会尽快给你。 – coson

+0

不需要尴尬。这些事情总是发生:D –