我正在编写一个插件,我希望能够获得jQuery用来创建对象的原始选择器。
因此,如果您想应用类似.siblings()的东西,您可以得到该类型的所有兄弟姐妹,无论是查找某个类的兄弟姐妹还是查找某个元素类型的兄弟姐妹。
jQuery('div') - 'div'jQuery(jQuery('div')) - '[jQuery] object' // would require recursively finding the selector of thisjQuery('#elment') - '#element'jQuery('.class') - '.class'发布于 2011-08-27 03:06:07
只需访问jQuery对象的selector属性:
console.log($("div").selector); // 'div'
console.log($("#foo").selector); // '#foo'发布于 2018-08-28 14:41:17
这似乎不再可能了,.在第3版中删除了“.selector”,而jquery建议传递两次选择器。
https://api.jquery.com/selector/...
-- .selector属性在jQuery 1.7中被废弃,只在支持jQuery迁移插件中的.live()所需的范围内进行维护。在以后的版本中,它可能会在没有通知的情况下被删除。属性从来就不是一个可靠的选择器指示符,可以用来获取当前包含在jQuery集中的元素集,因为后续的遍历方法可能已经更改了该集合。需要在插件中使用选择器字符串的插件可能需要它作为方法的参数。例如,一个"foo“插件可以编写为$.fn.foo = function(选择器,选项){ /*插件代码放在这里*/ };使用该插件的人将编写$( "div.bar”).foo( "div.bar",{ be:"bark"} );带有"div.bar“选择器,重复作为.foo()的第一个参数。
发布于 2011-08-27 03:41:12
作为卡里姆观点的延伸:
var t = jQuery('.clName');
t.each(function(){
jQuery(this).data('selector',t.selector);
});https://stackoverflow.com/questions/7212295
复制相似问题