JQuery के माता-पिता (), माता-पिता () और निकटतम () फ़ंक्शन के बीच अंतर


184

मैं थोड़ी देर के लिए jQuery का उपयोग कर रहा हूँ। मैं parent()चयनकर्ता का उपयोग करना चाहता था । मैं भी closest()चयनकर्ता के साथ आया । उनके बीच कोई अंतर नहीं पा सका। क्या वहाँ कोई? यदि हाँ, तो क्या?

और parent(), के बीच अंतर क्या है ?parents()closest()


6
माता-पिता :::: 1 कदम पीछे चलकर माता-पिता के पास जाता है। ::::: माता-पिता ::: सभी माता-पिता की सूची देता है। ::::: निकटतम ::: भाई-बहनों के माध्यम से तब तक यात्रा करता है जब तक कि वह स्थिति का पता न लगा ले। और केवल पहले लौटें। इन सभी को अतिरिक्त चयनकर्ताओं के साथ संशोधित किया जा सकता है
मुहम्मद उमेर

जवाबों:


177

closest()DOM ट्री से ऊपर चयनकर्ता से मेल खाता पहला तत्व चुनता है। वर्तमान तत्व से शुरू होता है और यात्रा करता है।

parent() DOM ट्री में एक एलिमेंट अप (सिंगल लेवल अप) का चयन करता है।

parents()विधि समान है, parent()लेकिन DOM पेड़ तक सभी मिलान तत्वों का चयन करता है। मूल तत्व से शुरू होता है और यात्रा करता है।


10
क्या यह .parents()(इसके बजाय .parent()) सभी तत्वों को पुनः प्राप्त नहीं करता है?
acdcjunior

65
यह उत्तर एक महत्वपूर्ण बिंदु याद कर रहा है: "निकटतम" वर्तमान तत्व से शुरू होता है और यात्रा करता है, जहां "माता-पिता" मूल तत्व से शुरू होता है और यात्रा करता है।
एंड्रयू

195

से http://api.jquery.com/closest/

.Parents () और .closest () तरीकों में समान हैं कि वे डोम पेड़ दोनों पार। दोनों के बीच अंतर, हालांकि सूक्ष्म हैं, महत्वपूर्ण हैं:

।निकटतम()

  • वर्तमान तत्व के साथ शुरू होता है
  • डोम ट्री तक यात्रा करता है जब तक कि यह आपूर्ति किए गए चयनकर्ता के लिए एक मैच न मिल जाए
  • लौटे jQuery ऑब्जेक्ट में शून्य या एक तत्व शामिल है

.parents ()

  • मूल तत्व के साथ शुरू होता है
  • डॉम ट्री को दस्तावेज़ के मूल तत्व तक ले जाता है, प्रत्येक पूर्वज तत्व को एक अस्थायी संग्रह में जोड़ता है; यह तब एक संग्रह पर आधारित है कि अगर एक की आपूर्ति की है फ़िल्टर करता है
  • लौटे jQuery ऑब्जेक्ट में शून्य, एक या कई तत्व शामिल हैं

.parent ()

  • एक jQuery ऑब्जेक्ट को देखते हुए जो DOM तत्वों के एक सेट का प्रतिनिधित्व करता है, .parent () विधि हमें DOM ट्री में इन तत्वों के माता-पिता के माध्यम से खोज करने और मिलान तत्वों से एक नया jQuery ऑब्जेक्ट बनाने की अनुमति देता है।

नोट: .parents () और .parent () विधियाँ समान हैं, सिवाय इसके कि बाद वाला केवल DOM ट्री तक एक ही स्तर पर यात्रा करता है। इसके अलावा, $ ("html")। माता-पिता () विधि एक सेट युक्त दस्तावेज़ लौटाती है जबकि $ ("html")। माता-पिता () एक खाली सेट लौटाते हैं।

यहाँ संबंधित सूत्र हैं:


8
उन्होंने वास्तव में माता-पिता () के बारे में पूछा, माता-पिता () से नहीं।
स्कूबासेव

2
@ScubaSteve: कृपया फिर से उत्तर की जाँच करें Note
नवेद

1
The .parents() and .parent() methods are similar, except that the latter only travels a single level up the DOM tree. Also, $("html").parent() method returns a set containing document whereas $("html").parents() returns an empty set.
नवेद

1
@ScubaSteve, हाँ, लेकिन माता-पिता () प्रश्न अधिक दिलचस्प है।
पॉल ड्रेपर

15

दोनों के बीच अंतर, हालांकि सूक्ष्म हैं, महत्वपूर्ण हैं:

।निकटतम()

  • वर्तमान तत्व के साथ शुरू होता है
  • डोम ट्री तक यात्रा करता है जब तक कि यह आपूर्ति किए गए चयनकर्ता के लिए एक मैच न मिल जाए
  • लौटे jQuery ऑब्जेक्ट में शून्य या एक तत्व शामिल है

.parents ()

  • मूल तत्व के साथ शुरू होता है
  • डॉम ट्री को दस्तावेज़ के मूल तत्व तक ले जाता है, प्रत्येक पूर्वज तत्व को एक अस्थायी संग्रह में जोड़ता है; यह तब एक संग्रह पर आधारित है कि अगर एक की आपूर्ति की है फ़िल्टर करता है
  • लौटे jQuery ऑब्जेक्ट में शून्य, एक या कई तत्व शामिल हैं

JQuery डॉक्स से


13
मुझे लगता है कि आपका वर्णन .parents () यहाँ
मुहम्मद उमेर

1

दोनों के बीच अंतर है $(this).closest('div')और$(this).parents('div').eq(0)

मूल रूप से closest, जबकि वर्तमान तत्व से तत्व मिलान शुरू parentsमाता पिता से शुरू मिलान तत्वों (वर्तमान तत्व के ऊपर एक स्तर)

See http://jsfiddle.net/imrankabir/c1jhocre/1/

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.