2010-07-26 17 views
5

क्या कोई jQuery पैरेंट चयनकर्ता है जो पहले मैच मिलने तक डोम को पार करता है?jQuery पैरेंट चयनकर्ता

उदाहरण के लिए:

<tr> 
    <td> 
     <div id="foo">hello!</div> 
    </td> 
</tr> 

div से पंक्ति को खोजने के लिए मैं उपयोग कर रहा हूँ:

$('#foo').parent().parent();

यह लगता है जैसे मैं

$('#foo').firstParent('tr');

की तरह कुछ लिखने के लिए सक्षम होना चाहिए

लेकिन मुझे कोई नहीं मिल रहा है डॉक्स में वाई ऐसे समारोह।

उत्तर

6

आप इस के लिए .closest() उपयोग कर सकते हैं:

$('#foo').closest('tr'); 

यदि यह मदद करता है, वहाँ एक वर्ग यह करने के लिए अपने भविष्य की खोजों को सीमित करने के लिए विशेष रूप से के लिए है: Tree Traversal

+0

पेड़ ट्रैवर्सल लिंक के लिए धन्यवाद और चीयर्स। मुझे यह कभी नहीं मिला होगा, एक बहुत बुरी तरह से नामित समारोह imho लगता है। – fearofawhackplanet

+0

@patrick - Woops, धन्यवाद! –

+0

@fearofawhackplanet - जब आप एपीआई खोजते हैं: http://api.jquery.com/ एक ऐसा क्षेत्र ढूंढें जिसे आप एक ही क्षेत्र में जानते हैं, और दाईं ओर इसके पास श्रेणियों के लिंक होंगे जो आमतौर पर संबंधित हैं सबसे तेज़ मार्ग :) –

1
$(element).parents('TR:first'); 

संपादित करें: या क्या निक नीचे कहा - उस चूसने वाले के बारे में भूल गया।

+0

+1 - यह '.closest ('tr') के लंबे समय के बराबर है, इसलिए निश्चित रूप से एक वैध दृष्टिकोण :) –

0
$('#foo').parent('tr') 
+0

यह अधिकांश लोगों की अपेक्षा नहीं करता है, यह माता-पिता * का चयन करता है * यह '' है, यदि यह ' 'नहीं है तो आपको एक खाली सेट मिलता है। चयनकर्ता एक खोज शब्द की बजाय एक फ़िल्टर है, यह उस चरण के लिए '.parent() फ़िल्टर ('tr')' के बराबर है :) –

संबंधित मुद्दे