jQuery .selector property removed, workaround?

I'm trying to get the selector used to call the current script, but of course the property I need was removed for some reason.

Is there a workaround for this? Here's basically what I want to accomplish:

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

//Somwehere else:

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

I need to see .theClassISelected (or some form of the original selector I used to call the function) in the console, but since the selector property has been removed from jQuery, it doesn't possible anymore.

I don't understand why it was removed - I've Googled this problem for a while now and all I see are StackOverflow answers from 2011-2012 recommending the selector property. I guess it was useful at some point, but not anymore?


From the jQuery documentation:

Plugins that need to use a selector should have the caller pass in the selector as part of the plugin's arguments during initialization.

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

As an aside, the docs also mention that the selector property wasn't reliable since "since subsequent traversal methods may have changed the set."

链接地址: http://www.djcxy.com/p/13854.html

上一篇: LINQ表达式树中的Any()Where()

下一篇: jQuery .selector属性被删除,解决方法?