I have a jQuery selector, which has a chained function.
Inside the function I want to get access to the TEXT representing the expression for the selector.
$("cat dog").function() {
// how do I get access to the "cat dog" string from inside THIS function ?
};
I've over simplified in this code sample what I actually want to do. I'm writing a plug-in and I need access to the selector for which the wrapped set has been created. Obviously in this particular example I have access to "cat dog" becasue i wrote it. So just picture this being in a plugin.
Its a little tricky to google for this.
edit: the 'selector' property is unfortunately now deprecated. http://jquery.com/upgrade-guide/1.9/#selector-property-on-jquery-objects
There is a 'selector' attribute in the jQuery object, but I'm not sure it's always available.
For those who want to get inside their plugins selector string given to jQuery, I am glad to have improved the great answer given by @Pim Jager:
jQuery.fn.init
function -selector, context, root
- not two;new
keyword should be added to the return statement ofjQuery.fn.init
;$(this).getSelector();
Finally, that's what I've got to work for me like a charm:
It works with jQuery versions as far as I am concerned (from 1.7.0 to 3.2.1).
PS. Works fine even with jQuery 1.2.3 available here on stackoverflow too. So, I guess, the following is ok for all jQuery versions if you want to get a jQuery selector's expression as text inside the plugin: