2011-03-06 14 views
7

मैं थोड़ी देर के लिए अपनी निजी जावास्क्रिप्ट लाइब्रेरी पर काम कर रहा हूं, और यह ठीक काम करता है। लेकिन मैं jQuery वापसी वस्तु के बारे में सोच रहा था।jquery वास्तव में क्या ऑब्जेक्ट करता है?

मान लें कि आपके पास अपने डीओएम में कुछ divs हैं और आप उन्हें $("div") के साथ चुनते हैं, वास्तव में कंसोल लॉग में चयनित नोड्स (ऑब्जेक्ट/सरणी के रूप में) लौटाते हैं और आप उन्हें देख सकते हैं कि वे कहां हैं दस्तावेजों में।

मेरे वस्तु वास्तव में, पूरे वस्तु ही देता है, इसलिए यदि आप kj("div") यह सांत्वना लॉग में इस तरह दिखाई देता है (कहाँ kj मेरी वस्तु का नाम है) कहते हैं:

> kj 
    > elements: Array[10] 
    > length : 10 
    > more stuff 

मेरा प्रश्न है, मैं कैसे कर सकते हैं इसे jQuery की तरह कुछ वापस कर दें?

अग्रिम धन्यवाद।

+5

* मैं इसे jQuery की तरह कुछ कैसे वापस कर सकता हूं * पहिया को फिर से क्यों घुमाएं? क्या ऐसा कुछ है जिसे आप करने की कोशिश कर रहे हैं कि jQuery नहीं कर सकता? –

+3

प्रोग्रामर के रूप में सुधार के उद्देश्य के लिए पहिया को फिर से शुरू करने में कुछ भी गलत नहीं है। –

+0

@Eric, नहीं। हमें सभी को उन पर शासन करने के लिए एक ढांचे पर फैसला करना चाहिए, और बाकी सब कुछ फेंक देना चाहिए। जबकि हम इसमें हैं, वैसे ही एक भाषा का उपयोग कर सकते हैं और दूसरों को फेंक सकते हैं। नोड सर्वर का ख्याल रख सकता है, और क्लाइंट के लिए नियमित ओएल 'जेएस। [/ सरक्रोग्रेंस] = पी –

उत्तर

3

मुझे लगता है कि आप जो खोज रहे हैं वह है कि jQuery में तत्वों का ऐरे प्राथमिक वस्तु है, विधियों और अन्य जानकारी गुणों के रूप में उस सरणी से जुड़ा हुआ है।

function $$(tagname){ 
    var x = document.getElementsByTagName(tagname); 
    x.moreStuff = true; 
    return x; 
} 

var d = $$('div'); 

क्योंकि typeof Array === 'object' आप मनमाने ढंग से एक सरणी के लिए तरीके और गुण संलग्न कर सकते हैं।

0

इस पृष्ठ पर आपको कंसोल खोलें और console.log($('#custom-header')) करें और आपको परिणाम मिल जाएगा। मुझे लगता है कि, jquery निम्न विधियों और संपत्ति के साथ एक ऑब्जेक्ट वापस करेगा जो हम उन पर hide() और show() जैसे उपयोग करते हैं। मुझे लगता है कि एक और पुस्तकालय बनाने के लिए jquery का उपयोग करना बेहतर है।

>>> console.log($('#custom-header')) 
[div#custom-header] 



0 
    div#custom-header 


context 
    Document what-is-the-jquery-returned-object-exactly 


jquery 
    "1.4.4" 


length 
    1 


selector 
    "#custom-header" 


init 
    function() 


TextAreaResizer 
    function() 


_toggle 
    function() 


add 
    function() 


addClass 
    function() 


addSpinner 
    function() 


addSpinnerAfter 
    function() 


after 
    function() 


ajaxComplete 
    function() 


ajaxError 
    function() 


ajaxSend 
    function() 


ajaxStart 
    function() 


ajaxStop 
    function() 

    ....... 
    ....... 
    ....... 
3

JQuery किसी ऑब्जेक्ट के अपने संदर्भों को हुक करता है जो डोम में चीजों के संदर्भ में बदल जाता है। वे संदर्भ "एचटीएमएल की सामग्री" की तुलना में थोड़ा अधिक जटिल हैं क्योंकि घटनाएं संलग्न हैं। JQuery में बहुत कुशल "चयनकर्ता" भी हैं जो डोम पर फिर से चलते हैं और उन संदर्भों का निर्माण करते हैं।

मुझे कहना है कि मैं स्क्रम मेस्टर से सहमत हूं। इन दिनों माइक्रोसॉफ्ट विकास में JQuery एक स्वीकार्य मानक है (WOOHOO!)। इसका इस्तेमाल क्यों नहीं करें?

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