jQuery: Get original selector

This no longer seems possible... '.selector' was removed in version 3 and jquery instead recommends passing in the selector twice.

https://api.jquery.com/selector/....

The .selector property was deprecated in jQuery 1.7 and is only maintained to the extent needed for supporting .live() in the jQuery Migrate plugin. It may be removed without notice in a future version. The property was never a reliable indicator of the selector that could be used to obtain the set of elements currently contained in the jQuery set where it was a property, since subsequent traversal methods may have changed the set. Plugins that need to use a selector string within their plugin can require it as a parameter of the method. For example, a "foo" plugin could be written as $.fn.foo = function( selector, options ) { /* plugin code goes here */ };, and the person using the plugin would write $( "div.bar" ).foo( "div.bar", {dog: "bark"} ); with the "div.bar" selector repeated as the first argument of .foo().


Just access the jQuery object's selector property:

console.log($("div").selector); // 'div'
console.log($("#foo").selector); // '#foo'