/ / JQuery में, $ है ('li.item-ii')। - jquery, jquery- चयनकर्ता

JQuery में, $ ('li.item-ii') है। ('Li') $ ('li.item-ii li') के समान खोजें? - jquery, jquery-selectors

JQuery के खोजने के उदाहरण में ()
(डॉक्टर पर है http://api.jquery.com/find/)

मुझे आश्चर्य है कि हमें इसकी आवश्यकता क्यों है, क्योंकि, है

$("li.item-ii").find("li")

बराबर

$("li.item-ii li")

अनिवार्य रूप से, सभी <li> तत्वों के अंदर <li> तत्व जिसमें वर्ग है item-ii

उसी प्रकार

$("#id1").find(".class1 #id2")

के समान है

$("#id1 .class1 #id2")

?

अद्यतन करें: यदि वे समान हैं, तो हमें खोजने की आवश्यकता क्यों है ()? यह इसलिए है क्योंकि मुख्य रूप से जब हमें एक चर में किसी अन्य तत्व को दिए जाने पर कुछ तत्वों का चयन करने की आवश्यकता होती है, तो हम कर सकते हैं elementFoo.find("...")?

उत्तर:

उत्तर № 1 के लिए 4

हां, ये बराबर हैं। परिणाम वही है, इसे कहा जाता है वंशज चयनकर्ता। जो अपने उपयोगिता थोड़ा अलग है (उदाहरण का उपयोग करते हुए .end(), .andSelf(), आदि), लेकिन सिर्फ तत्वों का चयन करने के लिए, आप एक ही सेट ढूंढ रहे हैं।

किक के लिए, आप यह भी कर सकते हैं:

$("li", "li.item-ii")

आपके संपादन के लिए: क्यूं कर क्या हमें इसकी आवश्यकता है? कभी-कभी आप "नहीं आ रहे हैं से एक चयनकर्ता, त्वरित उदाहरण:

$(this).find(".childElementClass")

कई बार आपको कुछ खोजने की आवश्यकता होती है अपेक्षाकृत, एक ज्ञात चयनकर्ता से नहीं (DOM तत्व हो सकता है, thisएक iframe दस्तावेज़, आदि)। और भी कई हैं ट्रैवर्सल फ़ंक्शन इसके लिए भी।


उत्तर № 2 के लिए 1

वे मूल रूप से समान हैं हां। लेकिन अगर उदाहरण के लिए आपके पास पहले से ही अपना DOM तत्व है तो यह बहुत उपयोगी हो सकता है। उदाहरण के लिए कहें कि आप एक div पर एक क्लिक इवेंट के लिए बाध्य हैं और div में सभी स्पैन को छिपाना चाहते हैं। यह सरल है। $(this).find("span").hide() जबकि अन्य सिंटैक्स के साथ ऐसा करना काफी मुश्किल होगा।

इसके अलावा यह कभी-कभी आपके स्टोर करने के लिए समझ में आता है $("li.item-ii") एक चर में परिणाम क्योंकि आप और अधिक चलाना चाहते हैं1 क्वेरी से अधिक (कहो कि आप इसके तहत पहले ली को ढूंढना चाहते हैं, लेकिन वहाँ भी स्पैन ढूंढना चाहते हैं)। यह सिंटैक्स आपको हर बार चयनकर्ता को डुप्लिकेट न करने की अनुमति देता है जब आप किसी अन्य चाइल्ड एलिमेंट को एक्सेस करना चाहते हैं जो कि महत्वपूर्ण है मेंटेनेंस के लिए बेहतर (मेरा मानना ​​है कि बेस सेलेक्टर को फिर से नहीं चलाने में परफॉर्मेंस बेनिफिट भी हो सकता है, लेकिन यह शायद यूज-केस पर निर्भर करता है)।

तो संक्षेप में, यह एक ही काम करने के दो तरीके हैं हाँ, लेकिन वे अलग-अलग परिस्थितियों में एक दूसरे से अधिक उपयुक्त हैं।