2011-09-08 53 views
3

將給定的jQuery選擇器$('#my-id .my-class a')存儲爲變量jqElement,如何返回該選擇器的字符串表示形式?檢索jQuery選擇器的字符串表示形式

換句話說:

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

可能重複http://stackoverflow.com/questions/500246/how-do- I-GET-A-jQuery的選擇表達,如文本) –

回答

2
jqElement.selector 

將返回選擇值

的[我如何獲得一個jQuery選擇的表情文字?](
2

選擇器屬性公開jQuery對象的選擇器。例如...

var cache = $("#my-id .my-class a"); 

alert(cache.selector); // will alert "#my-id .my-class a" 
3

正如您所鏈接到的問題的答案中所述,selector屬性是您找到的最合適的方法。

雖然它是基本的選擇完全正確,你會發現使用操作方法,如parent()next()等爲主,.selector屬性將得到血肉模糊,根本無法再利用時:

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() 

例如你可以將第一個直接插入$(),但你不能爲後者。

3
$('#my-id .my-class a').selector;