वास्तविकता में jQuery जावास्क्रिप्ट डीओएम के चारों ओर एक रैपर है, दोनों इसे बढ़ाने और सरलीकृत करने के लिए। बहुत संक्षेप में JQuery चयनकर्ताओं JQuery वस्तु लौट
var jQueryResults = $("article"); //Contains all article elements in the DOM as JQuery objects
हालांकि, रिटर्न जावास्क्रिप्ट के साथ तत्वों का चयन एचटीएमएल डोम तत्वों यानी/एस यानी
var normalResults = document.getElementsByTagName("article");//Contains all article elements in the DOM as HTML objects
मुद्दों है कि डोम वस्तुओं में उत्पन्न होती ही कार्यक्षमता प्रदान नहीं करते हैं कि JQuery ऑब्जेक्ट्स प्रदान करते हैं।
$('.changeColorHover').hover(function() {
this.attr("style", "color:red");
}); //Will not work as we are trying to call a JQuery method on a DOM object
ऊपर मन में उल्लेख के साथ
'इस' कीवर्ड एक डोम वस्तु है और इस तरह आप क्रम में एक jQuery वस्तु को यह कन्वर्ट करने के लिए आवश्यक हैं:
यहाँ एक घटना उदाहरण जो अंतर को दिखाता है jQuery विधियों का उपयोग करने के लिए।
$('.changeColorHover').hover(function() {
$(this).attr("style", "color:red");
}); //Will work since we have first converted the DOM object to a JQuery object
इस कीवर्ड सारांश में,, आप उद्देश्य यह है कि घटना कहा जाता है, इस ऑब्जेक्ट कि घटना उठाया के लिए एक संदर्भ दे देंगे का उपयोग करने की अनुमति देता है। लेकिन, यह एक डॉम ऑब्जेक्ट है, एक jQuery ऑब्जेक्ट नहीं। नतीजतन, आप जिस jQuery विधियों का उपयोग करना चाहते हैं, वे उपलब्ध नहीं हैं, जब तक कि आप इसे किसी jQuery ऑब्जेक्ट में परिवर्तित न करें।
हाँ यह करता है, यह एक jquery idiom –
@Matt है: कोड में कोई jQuery नहीं है। "यह' को अन्य चर में असाइन करना" सादे जावास्क्रिप्ट "में भी बहुत आम है। –
@ फ़ेलिक्स: यह एक प्लगइन है, जिसका अर्थ है कि यह एक jquery वस्तु को संदर्भित करता है। $ Jquery ऑब्जेक्ट्स को प्रत्ययित करने के लिए एक jquery idiom है (या इस्तेमाल किया जाता है)। इसलिए, यह एक jquery सवाल है। यदि यह गैर-jquery थे, तो इसके बजाय आप शायद यह देखेंगे कि, स्वयं, या कुछ और वर्णनात्मक है कि इसका वास्तव में क्या मतलब है –