检索jQuery选择器的字符串表示形式

时间:2011-09-08 15:28:30

标签: jquery string selector

将给定的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?,但发现信息已过时且可能不完整。

4 个答案:

答案 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

将返回选择器值