将给定的jQuery选择器$('#my-id .my-class a')
存储为变量jqElement
,如何返回该选择器的字符串表示形式?
换句话说:
jqElement = $('#my-id .my-class a');
jqElement.someFunc(); // returns '#my-id .my-class a'
我看了How do I get a jQuery selector's expression as text?,但发现信息已过时且可能不完整。
答案 0 :(得分:3)
正如您链接到的问题的答案中所提供的,selector
属性是您可以找到的最合适的方法。
虽然它对于基本选择器来说完全准确,但您会发现在使用parent()
,next()
等操作方法时,.selector
属性会被重复使用:< / p>
alert($('foo[id^=fish]:gt(5):eq(4)').selector); // foo[id^=fish]:gt(5):eq(4)
alert($('foo').children('bar').next().selector); // foo.children(bar).next()
E.g。你可以把第一个直接插回$()
,但你不能用后者。
答案 1 :(得分:3)
$('#my-id .my-class a').selector;
答案 2 :(得分:2)
selector 属性公开了一个jQuery对象的选择器。例如......
var cache = $("#my-id .my-class a");
alert(cache.selector); // will alert "#my-id .my-class a"
答案 3 :(得分:2)
jqElement.selector
将返回选择器值