删除了jQuery .selector属性,解决方法?

Sco*_*ott 7 javascript jquery

我试图让选择器用于调用当前脚本,但当然我需要的属性由于某种原因被删除.

这有解决方法吗?这基本上就是我想要完成的事情:

(function($) {
    $.fn.myplugin = function(options) {
        return this.each(function() {
            console.log($(this).selector);
        });
    }
}(jQuery));

//Somwehere else:

$('.theClassISelected').myplugin();  //Should console.log('.theClassISelected')
Run Code Online (Sandbox Code Playgroud)

我需要.theClassISelected在控制台中看到(或者我用来调用函数的某种形式的原始选择器),但由于选择器属性已从jQuery中删除,因此它不再可能.

我不明白为什么它被删除了 - 我已经用Google搜索了这个问题一段时间了,我所看到的是2011年至2012年推荐该selector属性的StackOverflow答案.我想这在某些方面很有用,但现在不行了?

cfs*_*cfs 4

来自 jQuery 文档:

需要使用选择器的插件应该让调用者在初始化期间将选择器作为插件参数的一部分传递。

http://api.jquery.com/selector/

顺便说一句,文档还提到选择器属性不可靠,因为“因为后续的遍历方法可能已经更改了集合”。

  • @Jaxo 传递字符串而不是 jQuery 对象。 (4认同)