एलडब्ल्यूसी - क्वेरी चयनकर्ता ()

Eladablyusi Kveri Cayanakarta



querySelector() और querySelectorAll() का उपयोग करके DOM तत्वों को मानक तरीके से एक्सेस करना संभव है। इस गाइड में, हम विभिन्न उदाहरणों के साथ querySelector() का उपयोग करके HTML तत्व तक पहुंचने के तरीके पर चर्चा करेंगे।

क्वेरी चयनकर्ता()

मूल रूप से, querySelector() का उपयोग 'this.template' के साथ किया जाता है जो किसी विशेष टेम्पलेट में मौजूद तत्वों को लाता है। यदि कई तत्व हैं, तो यह केवल पहले तत्व पर विचार करेगा। यदि निर्दिष्ट तत्व टेम्पलेट में मौजूद नहीं है तो शून्य लौटा दिया जाता है। यह चयनकर्ता को एक पैरामीटर के रूप में लेता है। यह क्लासनाम टैग हो सकता है। आईडी समर्थित नहीं होगी. कुछ मामलों में, आपकी कक्षाएं समान हैं लेकिन मान भिन्न हैं। इस परिदृश्य में, हमें डेटा-रिकिड का उपयोग करने की आवश्यकता है जो मूल्य के आधार पर तत्व प्राप्त करता है।

वाक्य - विन्यास:







आइए देखें कि querySelector() के अंदर चयनकर्ता को कैसे निर्दिष्ट करें।



  1. this.template.querySelector(चयनकर्ता)
  2. this.template.querySelector('[data-recid='value']')

उदाहरण के लिए: यदि चयनकर्ता h1 टैग है, तो आपको इसे 'h1' के रूप में निर्दिष्ट करना चाहिए।



1. सभी उदाहरण इस 'meta.xml' फ़ाइल का उपयोग करते हैं। हम इसे प्रत्येक उदाहरण में निर्दिष्ट नहीं करेंगे. LWC घटकों को आपके रिकॉर्ड पेज, ऐप पेज या होम पेज पर जोड़ा जा सकता है।





'1.0' ?>

'http://soap.sforce.com/2006/04/metadata' >

57.0

सत्य

<लक्ष्य>

<लक्ष्य>लाइटनिंग__रिकॉर्डपेज

<लक्ष्य>lightning__AppPage

<लक्ष्य>लाइटनिंग__होमपेज



2. इस गाइड में हम जिन उदाहरणों पर चर्चा करने जा रहे हैं, उनमें लॉजिक को 'जेएस' कोड के रूप में प्रदान किया गया है। उसके बाद, हम स्क्रीनशॉट निर्दिष्ट करते हैं जिसमें संपूर्ण 'जेएस' कोड शामिल है।



उदाहरण 1:

सबसे पहले, हम HTML फ़ाइल में कुछ टेक्स्ट के साथ h1, div, स्पैन और लाइटनिंग-बटन टैग बनाते हैं। इसके अलावा, हम एक बटन बनाते हैं जिस पर क्लिक करने पर पिछले तत्व मिलते हैं। 'js' फ़ाइल में, हम this.template.querySelector() के माध्यम से इन सभी चार तत्वों का आंतरिक टेक्स्ट लौटाते हैं।

पहला उदाहरण.html

<टेम्पलेट>

<लाइटनिंग-कार्ड संस्करण = 'सँकरा' शीर्षक = 'नमस्ते' आइकन नाम = 'मानक:खाता' >



< एच 1 > नमस्ते LinuxHint. मैं h1 में हूं < / एच 1 >

< डिव > नमस्ते LinuxHint. मैं डिव में हूं < / डिव >

< अवधि > नमस्ते LinuxHint. मैं अवधि में हूँ < / अवधि >

<लाइटनिंग-इनपुट प्रकार = 'मूलपाठ' प्रकार = 'मानक' नाम = 'नाम' लेबल = 'पाठ इनपुट' >

नमस्ते LinuxHint. मैं लाइटनिंग-इनपुट में हूं < / लाइटनिंग-इनपुट>

<लाइटनिंग-बटन संस्करण = 'आधार' लेबल = 'विवरण प्राप्त करें' क्लिक पर = { विवरण प्राप्त करें } < / बिजली-बटन>



< / लाइटनिंग-कार्ड>

< / टेम्पलेट>

पहला उदाहरण.जे.एस

विवरण प्राप्त करें ( ) {

// h1 टैग का आंतरिक टेक्स्ट प्राप्त करें।

सांत्वना देना। लकड़ी का लट्ठा ( यह . खाका . क्वेरी चयनकर्ता ( 'एच1' ) . आंतरिक पाठ ) ;

// div टैग का आंतरिक टेक्स्ट प्राप्त करें।

सांत्वना देना। लकड़ी का लट्ठा ( यह . खाका . क्वेरी चयनकर्ता ( 'div' ) . आंतरिक पाठ ) ;

// स्पैन टैग का आंतरिक टेक्स्ट प्राप्त करें।

सांत्वना देना। लकड़ी का लट्ठा ( यह . खाका . क्वेरी चयनकर्ता ( 'अवधि' ) . आंतरिक पाठ ) ;

// लाइटनिंग-इनपुट का आंतरिक पाठ प्राप्त करें।

सांत्वना देना। लकड़ी का लट्ठा ( यह . खाका . क्वेरी चयनकर्ता ( 'लाइटनिंग-इनपुट' ) . आंतरिक पाठ ) ;

}

संपूर्ण कोड:

आउटपुट:

इस घटक को किसी भी ऑब्जेक्ट के 'रिकॉर्ड' पृष्ठ पर जोड़ें (हमने इसे खाता रिकॉर्ड पृष्ठ पर जोड़ा है)। इस विंडो का निरीक्षण करें और 'कंसोल' टैब पर जाएं।

अब, “विवरण प्राप्त करें” बटन पर क्लिक करें। उसके बाद, आप देखेंगे कि सभी तत्वों के लिए इनरटेक्स्ट कंसोल पर प्रदर्शित होता है।

उदाहरण 2:

उदाहरण 1 में चर्चा किए गए घटक का उपयोग करें। HTML घटक में 'h1' टैग के साथ दो तत्वों को निर्दिष्ट करें और 'h1' का आंतरिक पाठ प्राप्त करने के लिए 'js' फ़ाइल में querySelector() का उपयोग करें।

पहला उदाहरण.html

<टेम्पलेट>

<लाइटनिंग-कार्ड संस्करण = 'सँकरा' शीर्षक = 'नमस्ते' आइकन नाम = 'मानक:खाता' >

< एच 1 > नमस्ते LinuxHint. मैं प्रथम एच1 हूं < / एच 1 >

< एच 1 > नमस्ते LinuxHint. मैं दूसरा एच1 हूं < / एच 1 >

<लाइटनिंग-बटन संस्करण = 'आधार' लेबल = 'विवरण प्राप्त करें' क्लिक पर = { विवरण प्राप्त करें } < / बिजली-बटन>

< / लाइटनिंग-कार्ड>

< / टेम्पलेट>

पहला उदाहरण.जे.एस

विवरण प्राप्त करें ( ) {

// h1 टैग का आंतरिक टेक्स्ट प्राप्त करें।

सांत्वना देना। लकड़ी का लट्ठा ( यह . खाका . क्वेरी चयनकर्ता ( 'एच1' ) . आंतरिक पाठ ) ;

}

संपूर्ण कोड:

आउटपुट:

एक ही टैग वाले दो तत्व हैं। इसलिए, querySelector() केवल पहले तत्व का चयन करता है। जब आप 'विवरण प्राप्त करें' बटन पर क्लिक करते हैं, तो आपको पहला 'h1' दिखाई देगा और आंतरिक टेक्स्ट कंसोल में वापस आ जाएगा।

उदाहरण 3:

हम querySelector() को एक वेरिएबल में भी स्टोर कर सकते हैं और इनरटेक्स्ट प्राप्त करने के लिए इस वेरिएबल का उपयोग कर सकते हैं। आइए कुछ टेक्स्ट के साथ एक स्पैन टैग बनाएं और इसे एक वेरिएबल में संग्रहीत करके कंसोल पर इनरटेक्स्ट लौटाएं।

पहला उदाहरण.html

<टेम्पलेट>

<लाइटनिंग-कार्ड संस्करण = 'सँकरा' शीर्षक = 'नमस्ते' आइकन नाम = 'मानक:खाता' >

< अवधि > नमस्ते LinuxHint. मैं स्पैन हूं < / अवधि < बीआर >

<लाइटनिंग-बटन संस्करण = 'आधार' लेबल = 'विवरण प्राप्त करें' क्लिक पर = { विवरण प्राप्त करें } < / बिजली-बटन>

< / लाइटनिंग-कार्ड>

< / टेम्पलेट>

पहला उदाहरण.जे.एस

विवरण प्राप्त करें ( ) {

// स्पैन टैग का आंतरिक टेक्स्ट प्राप्त करें।

उसे दो = यह . खाका . क्वेरी चयनकर्ता ( 'अवधि' ) . आंतरिक पाठ

सांत्वना देना। लकड़ी का लट्ठा ( वह ) ;

}

संपूर्ण कोड:

आउटपुट:

उदाहरण 4:

इस उदाहरण में, हम एक बटन और इनपुट टेक्स्ट (लाइटनिंग-इनपुट) बनाते हैं जो विषय को स्ट्रिंग के रूप में लेगा। हम 'लाइटनिंग-इनपुट' को querySelector() विधि के चयनकर्ता के रूप में पास करते हैं। इसे 'कंप्यूटर_संबंधित' वेरिएबल को सौंपा गया है। इस बटन पर क्लिक करते ही इस वेरिएबल में मौजूद वैल्यू प्रदर्शित हो जाती है।

दूसरा उदाहरण.html

<टेम्पलेट>

<लाइटनिंग-कार्ड शीर्षक = 'विषय' >

< केंद्र >

<लाइटनिंग-इनपुट लेबल = 'विषय दर्ज करें' कीमत = { कंप्यूटर संबंधि } < / लाइटनिंग-इनपुट>

< पी > आपका विषय है: < बी > {कंप्यूटर संबंधि} < / बी > < / पी >

< / केंद्र >

<बिजली-बटन लेबल = 'यहां चुनें' क्लिक पर = { हैंडलविषय } < / बिजली-बटन>

< / लाइटनिंग-कार्ड>



< / टेम्पलेट>

दूसरा उदाहरण.जे.एस

कंप्यूटर संबंधि

हैंडलविषय ( आयोजन ) {

यह . कंप्यूटर संबंधि = यह . खाका . क्वेरी चयनकर्ता ( 'लाइटनिंग-इनपुट' ) . कीमत ;

}

संपूर्ण कोड:

आउटपुट:

उदाहरण 5:

यहां, हम डेटा-रिकिड का उपयोग करते हैं। आइए HTML फ़ाइल में 'Span1', 'Span2' और 'Span3' जैसे तीन स्पैन टैग के साथ एक बटन बनाएं। querySelector() में डेटा-रिकिड में 'Span1' पास करके पहला स्पैन चुनें।

तीसरा उदाहरण.एचटीएमएल

<टेम्पलेट>

<लाइटनिंग-कार्ड शीर्षक = 'डेटा-आईडी के आधार पर पहचान' >

< अवधि data-recid = 'स्पैन1' > मैं स्पैन-1 में हूं < / अवधि < बीआर >

< अवधि data-recid = 'स्पैन2' > मैं स्पैन-2 में हूं < / अवधि < बीआर >

< अवधि data-recid = 'स्पैन3' > मैं स्पैन-3 में हूं < / अवधि < बीआर >

<लाइटनिंग-बटन संस्करण = 'आधार' लेबल = 'विवरण प्राप्त करें' क्लिक पर = { विवरण प्राप्त करें } < / बिजली-बटन>

< / लाइटनिंग-कार्ड>

< / टेम्पलेट>

तीसरा उदाहरण.जे.एस

विवरण प्राप्त करें ( ) {

// Span1 का आंतरिक टेक्स्ट प्राप्त करें

सांत्वना देना। लकड़ी का लट्ठा ( यह . खाका . क्वेरी चयनकर्ता ( '[डेटा-रिकिड='स्पैन1']' ) . आंतरिक पाठ ) ;

}

संपूर्ण कोड:

आउटपुट:

निष्कर्ष

हमने सीखा कि DOM तत्वों तक पहुँचने के लिए querySelector() का उपयोग कैसे करें। वर्तमान टेम्पलेट में तत्वों का चयन करने के लिए querySelector() ने 'this.template' का उपयोग किया। इसे एक वेरिएबल में संग्रहीत करना या सीधे उपयोग करना संभव हो सकता है। इन दोनों का उल्लेख उदाहरण सहित किया गया है। साथ ही, हमने एक उदाहरण भी प्रदान किया है जिसमें कई तत्व शामिल हैं। इस स्थिति में, querySelector() पहला तत्व लौटाता है।