在jquery中创建函数

时间:2011-09-19 11:55:27

标签: jquery

我正在尝试创建一个jquery函数,并使用下面的代码,但没有得到任何输出。请告诉我制作它的过程。

<script type="text/javascript">
    (function($){
        $.fn.myplugin = function(){
            alert(this.id);
        };
    })(jQuery);

    $("#sample").myplugin();
</script>

5 个答案:

答案 0 :(得分:11)

您可以在此处查看工作代码 - http://jsfiddle.net/gryzzly/YxnEQ/

请注意,在运行上述代码时,您需要一个id为“sample”的元素才能出现在文档中。此外,this指向jQuery对象,因此为了获取元素id,您需要使用以下任一项:

alert( this[0].id );

alert( this.attr('id') );

第一种是可取的,因为它更快。

答案 1 :(得分:5)

试试这个:

<script type="text/javascript">
 $(document).ready(function(){
  myplugin($("#sample"));
 });

  function myplugin(obj){
  alert(obj.id);
  }
</script>

答案 2 :(得分:3)

试试这个:

<script type="text/javascript">
$(document).ready(function(){
    $("#sample").myplugin(this.id);
});

function myplugin(id) {
    alert(id);
}
</script>

答案 3 :(得分:1)

尝试更改

        alert(this.id);

        alert(this[0].id);

当你得到一个jQuery对象数组时。

答案 4 :(得分:0)

alert(this.attr('id'));
该上下文中的

this是一个jQuery对象,而不是原始的DOM元素。