8

我正在尝试获取用于调用当前脚本的选择器,但是由于某种原因,我需要的属性当然被删除了。

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

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

//Somwehere else:

$('.theClassISelected').myplugin();  //Should console.log('.theClassISelected')

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

我不明白为什么它被删除了——我已经用谷歌搜索了一段时间,我看到的只是 2011-2012 年推荐该selector属性的 StackOverflow 答案。我想它在某些时候很有用,但现在不再有用了?

4

1 回答 1

4

来自 jQuery 文档:

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

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

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

于 2013-05-30T12:59:34.253 回答