jQuery插件创作:无法获得基本的工作示例?

时间:2009-09-29 15:21:03

标签: javascript jquery jquery-plugins

我正在尝试为jQuery编写一些插件,所以作为起点我去了文档中显示的基本示例(here)。这是我的代码,在一个名为jquery.test.js的js文件中:

(function($) {

   $.fn.myPlugin = function(settings) {
     var config = {'foo': 'bar'};

     if (settings) $.extend(config, settings);

     this.each(function() {
       // element-specific code here
       alert('found P tag');
     });

     return this;

   });

 })(jQuery);

这是HTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="en">
    <head>
        <title>Plugin Test</title>
        <script type="text/javascript" src="/jquery-1.3.2.min.js"></script>
        <script type="text/javascript" src="/jquery.test.js"></script>
        <script type="text/javascript">
        $(document).ready(function(){

            $('p').myPlugin();
        });
        </script>

    </head>
    <body>  
        <p>asdgasdgasg</p>
    </body>
</html>

我希望这会为页面中的每个段落标记弹出警报。但是,当我加载页面时,没有任何反应。 Firebug给了我两个错误:

missing ; before statement
http://playground.darthvader.com/jquery.test.js
Line 16

$("p").myPlugin is not a function
http://playground.darthvader.com/ol.html
Line 11

我很困惑。谁能看到我在这里做错了什么?

编辑:事实证明,jQuery文档中有一个拼写错误(很好地抓住了Ghommey),我正在复制并粘贴代码。我联系了docs网站的管理员,现在已经修复了。

1 个答案:

答案 0 :(得分:4)

  return this;

   });

似乎是错误的 - 只尝试:

  return this;
  };