2012-12-05 8 views

उत्तर

22

$('#<%=lblName.ClientID%>')id विशेषता के साथ एक तत्व मिलेगा जैसा कि ClientID एएसपी.Net में प्रॉपर्टी द्वारा प्रदान किया गया है।

$("[id$=lblName]")id विशेषता वाला एक तत्व मिलेगा जो lblName के साथ समाप्त होता है, उदाहरण के लिए foo-lblName

+0

किसी भी व्यक्ति के लिए जो उनमें से किसी एक को चुनना चाहता है, यदि आपके पास एक पृष्ठ है जो एक नियंत्रण पृष्ठ (एसीएक्स) का उपयोग करता है तो एक बार - '$ (" [id $ = lblName] ") 'में 1 तत्व के साथ अधिक तत्व होगा आईडी उस नाम से समाप्त होता है। इसलिए इस स्थिति में '$ ('# <% = lblName.ClientID%>') 'नियंत्रण के लिए एक अद्वितीय चयनकर्ता होगा –

1

पहले एक ($('#<%=lblName.ClientID%>')), आईडी चयनकर्ता के साथ, अपने आईडी के आधार पर एक तत्व मिल जाएगा। यह बहुत तेज है क्योंकि यह देशी document.getElementById

दूसरा, Attribute Ends With selector, विभिन्न तरीकों से काम करेगा। उदाहरण के लिए, आईई में, यह प्रत्येक तत्व के सभी तत्वों और परीक्षण आईडी प्राप्त करेगा यदि यह प्रदत्त मान (या कुछ समान) के साथ समाप्त होता है। वह बहुत धीमा है। नए ब्राउज़रों में querySelectorAll है जो संभवतः उस चयनकर्ता द्वारा तत्व खोजने के लिए उपयोग किया जाएगा, लेकिन मुझे यकीन नहीं है कि यह उन कार्यों द्वारा समर्थित है (ठीक है, here इसे वैलीड सीएसएस 3 की तरह परिभाषित किया गया है, इसलिए मान लें कि आधुनिक ब्राउज़र समाप्त होने का समर्थन करेंगे querySelectorAll में चयनकर्ता)।

तो, निष्कर्ष में, आईडी चयनकर्ता किसी भी मामले में तेज़ होना चाहिए और पुराने ब्राउज़र के मामले में बहुत तेज होना चाहिए। साथ ही, चयनकर्ता के साथ समाप्त होता है आपको ब्राउज़र पर अपनी क्लाइंट आईडी पास किए बिना तत्व ढूंढने की अनुमति देता है।

0

बस मुझे जो कुछ पता चला, उसे जोड़कर $('#<%=lblName.ClientID%>') केवल एक तत्व का चयन करेगा, हालांकि $("[id$=lblName]") एक से अधिक तत्वों का चयन करेगा, इसलिए यदि आपके पास एक से अधिक तत्वों को असाइन किया गया एक आईडी है और यदि आप सभी को पार करना चाहते हैं तब उन्हें पहला मामला ठीक से काम नहीं करेगा।

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