插件无法识别“this”jQuery

时间:2012-07-30 18:24:31

标签: jquery plugins

我正在尝试让我的插件识别它所调用的元素,例如:

(function($) {
    $('#element').myPlugin({});
})($)

在另一页上 -

(function($) {
    $.fn.myPlugin = function(settings) {
        var element = $(this);
        $.post('connection.php',{},
            function(output) {
                element.html(output);
            });
    }
})($)

但由于某种原因它不起作用..我很困惑

HTML页面:

<body>
    <div id="element">adsf</div>
</body>

2 个答案:

答案 0 :(得分:2)

在加载DOM之前调用了您的函数。尝试添加

   $(document).ready(function(){...your code..});

答案 1 :(得分:1)

我认为让你失望的是:

(function($) {
    $('#element').myPlugin({});
})($)

与此不一样:

$(function(){
    $('#element').myPlugin({});
});

所以一切正常,但DOM元素还没有像你期望的那样存在。