jQuery,将选择器作为选项参数传递

时间:2010-04-01 15:57:18

标签: jquery-plugins

我正在尝试构建一个简单的jquery插件,可以将选择器作为参数。我发现的所有例子都期望比实际选择器更多的原始“属性”(宽度,颜色等)。有没有什么好方法可以做到这一点?

我发现了这篇文章:Passing jquery selector to sub-function within a plugin

但我还是比较困惑。

目标有点像......

        (function ($) {
            $.fn.demonstration = function (options) {

                var defaults = {
                    $selector: null
                };
                var options = $.extend(defaults, options);

                return this.each(function () {
                    alert($selector.attr('id'));
                });
            };
        })(jQuery);

        $('body').demonstration({ $selector: $('#canvas') });

1 个答案:

答案 0 :(得分:4)

选择器只不过是一个字符串。只要您对jQuery()($)调用进行任何访问,人们就可以传递任何东西(选择器字符串,jQuery对象,DOM元素等)。

编辑:看到您添加了代码,在这种情况下,您应该通过$(options.$selector).attr('id')访问它。

出于好奇,为什么选择前的$?