如何从on方法中获取选择器字符串?

时间:2012-03-30 12:18:04

标签: jquery jquery-plugins

我正在创建一个调用on方法的jQuery插件。现在我需要从该方法中获取选择器字符串。我有办法做到吗?

(function($) {

        return this.each(function () {
            var $this = $(this);

            $(document).on('click', 'a[href="#post"]', function(event) {
                event.preventDefault();

                // I need to get the 'a[href="#post"]' string from here
        });
    });
}
})(jQuery);

谢谢你。

3 个答案:

答案 0 :(得分:1)

如果您需要将“a”标记显示为字符串

,请参阅我的post here
$('<div>').append($this.clone()).html();

jsFiddle在这里

  

http://jsfiddle.net/F3Vrk/

答案 1 :(得分:1)

确实不确定您的用途,但您可以使用on()

this方法中完全访问该元素
(function($) {

    return this.each(function () {
        var $this = $(this);

        $(document).on('click', 'a[href="#post"]', function(event) {
            event.preventDefault();

            alert( $(this).attr('href') );
       });
    });
  };
})(jQuery);

至于实际的选择器字符串...它被硬编码到你的例子中,因此不确定你对该部分的要求

答案 2 :(得分:1)

jQuery不提供此信息,但还有其他一些方法可供考虑。例如:

(function() {
    var selector = 'a[href="#post"]';
    $(document).on('click', selector, function(event) {
        event.preventDefault();
        console.log(selector);
    });
})();

<强> See it in action

然而,这是一个有点可疑的做法,可能还有其他更简单的方法来实现你的目标。