हमने jQuery एपीआई में थोड़ा स्पर्श के बारे में अब कई बार बात की है जो वास्तव में काफी अच्छे हैं। सब कुछ अच्छी तरह से माना और परिष्कृत किया जाता है। चेनिंग निश्चित रूप से उस श्रेणी में आती है। एक बार जब आप इसका इस्तेमाल करना शुरू कर देते हैं और इसे समझने लगते हैं, तो यह बेहद स्वाभाविक लगता है, जैसे कोई दूसरा रास्ता नहीं होना चाहिए।
मुख्य विचार यह है कि आप तत्वों के एकल संग्रह पर एक पंक्ति में कई तरीकों का उपयोग करते हैं।
उदाहरण के लिए, मान लीजिए कि मैं एक बटन पर क्लिक करने के बाद एक वर्ग बदलना चाहता हूँ और साथ ही कुछ पाठ भी बदल सकता हूँ। लेकिन बटन के अंदर कुछ HTML है।
Open
JQuery के साथ, हम क्रियाओं की पूरी श्रृंखला को एक साथ "चेन" कर सकते हैं।
$(".button") .removeClass("open") .addClass("closed") .find(".text") .text("Closed");
यह संभव है क्योंकि jQuery के अधिकांश तरीके, एक सेटर के रूप में उपयोग किए जाते हैं, एक तत्व सेट को उसी तरह वापस करते हैं जिस तरह से विधि को बुलाया गया था। कभी-कभी वह सेट बिल्कुल वैसा ही होता है, जैसा कि यहाँ removeClass
और addClass
यहाँ होता है, और कभी-कभी उस सेट को बदल दिया जाता है, यहाँ भी ऐसा ही है find
।
उदाहरण के साथ हमने वीडियो में काम किया, हमने इस बारे में भी बात की .end()
कि श्रृंखला में "बैक आउट" एक स्तर है।
$(".button") .removeClass("open") // .button .addClass("closed") // .button .find(".text") // .button .text .text("Closed") // .button .text .end(); // .button .data("thing"); // GETTER on .button
शायद यही बेहतर समझाता है। जब तत्वों का सेट बदलता है, तो मैंने लाइन एक को इंडेंट किया और टिप्पणी में परिवर्तन को नोट किया। तब जब हम .end()
इसे वापस एक स्तर पर वापस करते हैं। इससे कोई फर्क नहीं पड़ता कि आप कितनी बार चयन बदलते हैं। यह सब समाप्त हो जाता है जब आप एक विधि का उपयोग करते हैं जो तत्वों के एक सेट के अलावा कुछ और लौटाता है।