मैं इस jQuery चयनकर्ता का उपयोग कर रहा मेरी JSP में कई बार:jQuery चयनकर्ता को अनुकूलित करने का सर्वोत्तम तरीका और क्यों?
var customer=$('#customers')
और फिर के लिए ऊपर ग्राहक वस्तु का उपयोग करें:
$("#customers tbody tr td input[type='checkbox'][name='selectedCustomers']")
समाधान मैं कुछ ब्लॉग पर पाया गया कि मैं पहली बार करना चाहिए है आगे कॉल
customer.find("tbody tr td input[type='checkbox'][name='selectedCustomers']")
मेरा सवाल है, क्या यह समाधान कोई फर्क नहीं पड़ता और क्यों?
मेरे समझ
मैं
$("#customers tbody tr td input[type='checkbox'][name='selectedCustomers']")
jQuery आंतरिक रूप से पहली वस्तु div id="customers"
के साथ जुड़े हो जाएगी (document.getElementById द्वारा ("ग्राहकों")) करते हैं और उसके बाद के लिए पार किए जाने की निर्दिष्ट checkbox
। और अगर मैं तो सुझाव दिया समाधान से जाना document.getElementById("customers")
केवल एक बार सक्रिय किए जाएंगे और बाकी एक ही हो जाएगा। तो मैं खुद को अनावश्यक एकाधिक document.getElementById
से बचा रहा हूं लेकिन बाकी वही होंगे। क्या मेरी समझ सही है? यदि हां है, तो सिर्फ मेरे ज्ञान के लिए, document.getElementById
अधिक महंगा ऑपरेशन है?
संपादित करें: -
मैं केवल ऊपर उपयोग नहीं कर रहा div id = "ग्राहक" के अंतर्गत चयनकर्ता कई बार, लेकिन यह भी अन्य संभावित चयनकर्ता ने कहा। तो सवाल फिर से है कि अगर मैं ग्राहक ऑब्जेक्ट को पहले कैश करता हूं और यदि मैं ऐसा नहीं करता तो प्रदर्शन के संदर्भ में क्या अंतर है?
यदि मेल किए गए तत्वों को बदलने के लिए नहीं जा रहे हैं तो आपको * चुनिंदा * संपूर्ण चयनकर्ता न केवल '# ग्राहक' होना चाहिए, सभी समस्याएं गैर-समर्थित चयनकर्ता हैं, लेकिन यह ब्राउज़र निर्भर है – Alexander
मुझे नहीं लगता कि वहां है दूसरे तरीके के अलावा कोई अंतर पढ़ने के लिए बेहतर नहीं है। – SaidbakR
@ sємsєм कैशिंग भी माता-पिता निश्चित रूप से प्रदर्शन में सुधार करता है। आगे की खोज उस ऑब्जेक्ट में निहित हैं, पूर्ण DOM – charlietfl