5

क्या उपयोगकर्ता नाम में querySelector() बनाम jQuery के $() का उपयोग करने का कोई फायदा है? मैं स्क्रिप्ट को उन सभी प्रमुख ब्राउज़रों में काम करना चाहता हूं जो उपयोगकर्ता स्क्रिप्ट का समर्थन करते हैं, इसलिए मैं विशेष रूप से क्रॉस-ब्राउज़र संगतता में रूचि रखता हूं।

मैं क्योंकि मैंने देखा honestbleeps ' उत्कृष्ट रेडिट संवर्धन सुइट एक निर्भरता के रूप में jQuery भी शामिल है, लेकिन ज्यादातर डोम हेरफेर के लिए तत्वों और अन्य बुनियादी JavaScript पद्धतियों के चयन के लिए querySelector() से चिपक इस बारे में चिंता शुरू कर दिया।

क्या यह सिर्फ स्वाद का मामला है, या क्या jQuery का उपयोग कम से कम रखने का कोई कारण है?

+2

मैं * रेडडिट एन्हांसमेंट सूट * में उस मिश्रण में बहुत ज्यादा नहीं पढ़ूंगा। किसी भी बड़े या विकसित परियोजना में, आपको पुराने या बेहतर प्रथाओं के साथ-साथ पुराने स्टाइल कोड का मिश्रण मिलेगा (ज्यादातर) काम करता है। (हालांकि नया आवश्यक नहीं है।) ... बहुत कम डेवलपर्स या टीमें सबकुछ सुसंगत बनाने के लिए पुराने वर्किंग कोड को दोबारा दोहराएंगे। –

उत्तर

3

querySelector() या querySelectorAll() का उपयोग करने का एकमात्र कारण यह है कि यदि आप jQuery का उपयोग नहीं कर रहे हैं। jQuery चयनकर्ता उन्नत सीएसएस चयनकर्ताओं की तुलना में अधिक शक्तिशाली और ब्राउज़र में लगातार प्रदर्शन करने की अधिक संभावना रखते हैं।

यह कहा गया कि jQuery सहित, सरल स्क्रिप्ट्स को अनिवार्य रूप से जटिल कर सकता है। अधिकांश ब्राउज़रों पर स्क्रिप्ट इंजेक्शन की आवश्यकता होती है - जो सैंडबॉक्स को हराता है, संभावित संघर्ष बनाता है, और आपकी स्क्रिप्ट किसी तृतीय-पक्ष सर्वर पर निर्भर करता है।
Here is a cross-browser way to include jQuery that minimizes conflicts. And, if the browser supports local jQuery copies, it doesn't require a third-party server to always be up/fast.

तो स्क्रिप्ट सरल है और आप बहुत प्रयास के बिना jQuery बचने के लिए, querySelector() उपयोग कर सकते हैं। आपकी स्क्रिप्ट सभी स्क्रिप्ट-सक्षम ब्राउज़रों पर काम करेगी, 99% समय।

यदि स्क्रिप्ट jQuery को वैसे भी लोड करता है, तो अधिकतम शक्ति और स्थिरता के लिए jQuery चयनकर्ताओं का उपयोग करें।

ध्यान दें कि किसी भी सबसे बुनियादी डोम मैनिपुलेशन के लिए, jQuery आमतौर पर लागत के लायक है। और फ़ायरफ़ॉक्स + Greasemonkey या क्रोम + Tampermonkey के लिए, यदि आप @require it अगर jQuery का उपयोग करने में लगभग कोई कमी नहीं है।

+0

प्लस, jQuery जब भी आप एक वैध सीएसएस चयनकर्ता की आपूर्ति करते हैं तो 'querySelectorAll()' पर jQuery डिफ़ॉल्ट होता है। – BoltClock

1

querySelectoris not supported in some browser versions, जबकि jQuery का $() है।

+2

'greasemonkey' और 'usercripts' प्रश्नों के लिए लागू नहीं होता है। स्क्रिप्ट योग्य ब्राउज़रों के सभी हालिया संस्करण 'querySelector() 'का समर्थन करते हैं। (कम से कम मानक विक्रेताओं में से) –

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

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