Jquery插件 - 此ID未定义

时间:2011-02-03 12:52:08

标签: jquery jquery-plugins


我尝试编写我的第一个jquery插件。

JS代码

$('#test').existInTip();

(function($){
$.fn.existInTip = function(){
   console.log($(this).attr('id'));
}
})(jQuery);

但我得到一个未定义的错误?怎么了?

提前致谢!
彼得

3 个答案:

答案 0 :(得分:2)

在宣布插件之前,您尝试使用existInTip。切换顺序:

(function($){
    $.fn.existInTip = function(){
        console.log($(this).attr('id'));
    }
})(jQuery);

$('#test').existInTip();

如果此代码位于页面的<head>部分,您还希望将最后一行放在document ready处理程序中:

$(document).ready(function () {
    $('#test').existInTip();
});

还有一件事:在jQuery插件中,this已经是jQuery对象,所以不需要包装它:

$.fn.existInTip = function(){
    console.log(this.attr('id')); // Or this[0].id
}

答案 1 :(得分:0)

在使用脚本之前,应确保声明和解析脚本。尝试交换两个代码块。

答案 2 :(得分:0)

$(this)可以与实例对象一起使用。

$.fn.existInTip是一个功能。