无法访问插件中的jQuery对象

时间:2009-08-05 16:22:24

标签: jquery

我知道这听起来很琐碎,但是下面的函数(return ( $ this).each()...`)似乎是我的插件中的所有内容,但这意味着我甚至没有得到警报。您对可能出现的问题有什么建议吗? Thx提前。

(function($){
    $.fn.plugin = function() {  
        return $(this).each(function(){
            var obj = $(this);
            obj.css('background', 'blue');
            alert(this);
        });
    };
})(jQuery);

2 个答案:

答案 0 :(得分:1)

你是如何调用插件的?你有匹配的元素吗?检查选择器上的.length以确保您具有> 0个匹配的元素。

答案 1 :(得分:0)

检查这个

<html>
<head>
<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
</head>
<script type="text/javascript">
    (function($){
        $.fn.plugin = function() {  
            return $(this).each(function(){
                    var obj = $(this);
                    obj.css('background', 'blue');
                    $("#result").append('<span>in plugin : '+obj.html()+'</span><br />');
            });
        };
    })(jQuery);

    jQuery(function(){
        var test = $("div").plugin();

        $(test).each(function(){
            $("#result").append('<span>out plugin : '+$(this).html()+'</span><br />');
        });
    });

</script>
<head>
<body>
<div>a</div>
<div>b</div>
<div>d</div>
<div>v</div>
<span id="result"></span>
</body>
</html>