2012-01-30 17 views
6

कोड की निम्न पंक्ति आधिकारिक dialog/#modal-form example

allFields = $([]).add(name) 

से आता है कृपया कोई स्पष्ट किया जा सका क्या $([]) करता है? क्या यह $("*") जैसा ही है?

एक और चीज मुझे परेशान करती है कि मुझे allFields को कहीं भी/किसी ऑब्जेक्ट में जोड़ा/जोड़ा नहीं गया, यह केवल बनाया और संशोधित है। क्या मैं कुछ भूल रहा हूँ?

उत्तर

3

यदि आप doco for the jQuery() function पर एक नज़र डालें - आमतौर पर शॉर्टंड संस्करण $() के रूप में देखा जाता है - तो आप देखेंगे कि यह कई अलग-अलग प्रकार और पैरामीटर के संयोजन स्वीकार करता है।

वाक्य रचना के बारे में आप से पूछा:

$([]) 

jQuery(elementArray) वाक्य रचना है जो आप डोम तत्वों की एक सरणी जहां वापसी उन तत्वों लपेटकर एक jQuery वस्तु हो जाएगा पारित करने देता है। एक खाली सरणी पास करके आप मूल रूप से एक खाली jQuery ऑब्जेक्ट प्राप्त करते हैं (जैसे आप चाहते हैं कि आप एक चयनकर्ता स्ट्रिंग पास करते हैं जो कुछ भी मेल नहीं खाता है, लेकिन पहले मैच खोजने की अक्षमता के बिना)।

allFields = $([]).add(name).add(email).add(password) 

मुमकिन व्यक्ति जोड़ने का लाभ:

जब allFields बनाए गए तीन डोम तत्वों यह (जहां name, email और password सिर्फ इतना है कि एक डोम तत्व से युक्त jQuery वस्तुओं के रूप में पहले बनाई गई हैं) को जोड़ा गया है बजाय आइटम बस कर रही:

allFields = $("#name,#email,#password") 

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

एक और बात हैरान मैं हूँ कि मैं allFields जोड़ा जा रहा है/कहीं भी/किसी भी वस्तु के साथ जोड़ दिया नहीं देखा, यह केवल बनाया है और संशोधित किया गया है, मैं कुछ याद आ रही है?

यह कोड में दो अन्य स्थानों में जाना जाता है:

allFields.removeClass("ui-state-error"); 
// and, later 
allFields.val("").removeClass("ui-state-error"); 

यह एक वर्ग को हटाने या jQuery वस्तु के सभी तत्वों का मान सेट करने काफी मानक jQuery उपयोग है। किसी अन्य वस्तु में इसे जोड़ने की आवश्यकता नहीं है।

5

$([])$() की तरह एक खाली jQuery ऑब्जेक्ट बनाता है। $('*') एक jQuery ऑब्जेक्ट बनाता है जिसमें सीएसएस चयनकर्ता * से मेल खाने वाले सभी तत्व होते हैं, जो प्रत्येक तत्व मेल खाते हैं।

दूसरे शब्दों में, $([]) कुछ भी नहीं मिला, $('*') सबकुछ मिलता है।

1

jQuery (elementArray)

elementArray: डोम तत्वों का एक सेट से युक्त एक jQuery वस्तु में रैप करने के लिए एक सरणी।

$([]) एक jQuery ऑब्जेक्ट में लपेटा गया खाली सेट बनाएं।

1

ऐसा लगता है कि आप निम्नलिखित लाइनों की बात कर रहे:

var name = $("#name"), 
    email = $("#email"), 
    password = $("#password"), 
    allFields = $([]).add(name).add(email).add(password) 

यहाँ क्या हो रहा है कि वे तीन तत्वों का चयन किया है और अब वे एक ही jQuery उद्देश्य यह है कि इन तीनों का संदर्भ बनाना चाहते है।

यह सिवाय इसके कि वे चयनकर्ता कॉल बचा निम्नलिखित रूप में ही है:

allFields = $("#name, #email, #password") 

संक्षेप में, वे इतनी अंतिम साथ $([]) तो संलग्न, नाम, ईमेल और पासवर्ड एक शून्य तत्व jQuery वस्तु बनाया ऑब्जेक्ट लंबाई की एक jQuery वस्तु थी 3.

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