दिलचस्प पोस्ट
पृष्ठ छोड़ने से पहले जावास्क्रिप्ट तीसरी चर का उपयोग किए बिना दो वैरिएबल वैल्यू को स्वैप करना मैट ओएस एक्स पर गीत और यूमलॉट समस्या ऑपरेटर ओवरलोडिंग: सदस्य फ़ंक्शन बनाम गैर सदस्यीय फ़ंक्शन? PHP के preg_replace_callback के बराबर जावा जावास्क्रिप्ट में बड़ी संख्या के लिए वैज्ञानिक संकेतन से कैसे बचें? जेडीबीसी के साथ कनेक्शन पूलिंग विकल्प: डीबीसीपी बनाम सी 3 पी 0 मैं पायथन 3 में raw_input का उपयोग कैसे करूं? कैसे गिट पोस्ट प्रतिबद्ध हुक को कॉन्फ़िगर करें एंड्रॉइड स्टूडियो और ग्रेडल के साथ दृश्यपेज इंडिकेटर लाइब्रेरी का उपयोग करना जोडा-टाइम में दो तारीखों के बीच की संख्या एक पुनरावर्ती वृक्ष बनाने के लिए पंक्तियों को पार करने के लिए MySQL क्वेरी का उपयोग करना मुझे ईएस 6 आयात के लिए कुरकुरा ब्रेसिज़ का उपयोग कब करना चाहिए? Java.Util.Scanner के साथ NoSuchElementException जावास्क्रिप्ट में JSON पार्स करें?

कैसे एक JQuery चयनकर्ता से एक DOM तत्व प्राप्त करने के लिए

मैं jQuery के चयनकर्ता से वास्तविक डोमेलेमेंट प्राप्त करने के लिए एक असंभव रूप से कठिन समय निकाल रहा हूं नमूना कोड:

<input type="checkbox" id="bob" /> var checkbox = $("#bob").click(function() { //some code } ) 

और कोड के दूसरे भाग में मैं चेकबॉक्स के चेक किए गए मान को निर्धारित करने का प्रयास कर रहा हूं।

  if ( checkbox.eq(0).SomeMethodToGetARealDomElement().checked ) //do something. 

और कृपया, मैं नहीं करना चाहता हूँ:

  if ( checkbox.eq(0).is(":checked")) //do something 

यह चेकबॉक्स के आसपास मुझे मिलता है, लेकिन दूसरी बार मुझे वास्तविक डोमेलमेंट की ज़रूरत है

वेब के समाधान से एकत्रित समाधान "कैसे एक JQuery चयनकर्ता से एक DOM तत्व प्राप्त करने के लिए"

आप के साथ कच्चे DOM तत्व का उपयोग कर सकते हैं:

 $("table").get(0); 

या अधिक आसानी से:

 $("table")[0]; 

वास्तव में बहुत कुछ नहीं है (हालांकि मेरे अनुभव में)। अपना चेकबॉक्स उदाहरण लें:

 $(":checkbox").click(function() { if ($(this).is(":checked")) { // do stuff } }); 

और अधिक "jquery'ish" और (imho) अधिक संक्षिप्त है अगर आप उन्हें नंबर देना चाहते हैं तो क्या होगा?

 $(":checkbox").each(function(i, elem) { $(elem).data("index", i); }); $(":checkbox").click(function() { if ($(this).is(":checked") && $(this).data("index") == 0) { // do stuff } }); 

इन सुविधाओं में से कुछ भी ब्राउज़र में भी मुखौटे के अंतर में मदद करते हैं कुछ गुण भिन्न हो सकते हैं उत्कृष्ट उदाहरण AJAX कॉल है यह ठीक से करने के लिए कच्चे जावास्क्रिप्ट में XmlHttpRequest लिए लगभग 7 फ़ॉलबैक केस हैं

संपादित करें: लगता है कि मैं मान रहा था कि आप तत्व नहीं पा सकते हैं। जैसा कि दूसरों ने यहां पोस्ट किया है, आप इसे यहां से प्राप्त कर सकते हैं:

 $('#element').get(0); 

मैंने यह सत्यापित किया है कि वास्तव में DOM तत्व का मिलान किया गया था।

मुझे एक स्ट्रिंग के रूप में तत्व प्राप्त करने की आवश्यकता थी।

 jQuery("#bob").get(0).outerHTML; 

जो आप की तरह कुछ दे देंगे:

 <input type="text" id="bob" value="hello world" /> 

… एक DOM तत्व के बजाय स्ट्रिंग के रूप में

यदि आपको सीधे DOM तत्व से बातचीत करने की आवश्यकता है, तो केवल document.getElementById उपयोग न करें। document.getElementById , यदि आप किसी विशिष्ट तत्व से बातचीत करने की कोशिश कर रहे हैं तो आप शायद आईडी को जानते होंगे, यह मानते हुए कि क्लासनाम केवल एक तत्व या कुछ अन्य पर है विकल्प खतरनाक हो सकता है।

लेकिन, मैं दूसरों के साथ सहमत हूं, कि ज्यादातर मामलों में आपको जो कुछ भी आपको jQuery का उपयोग करने की ज़रूरत होती है, आपको वह करना सीखना चाहिए, क्योंकि यह बहुत लचीला है

अद्यतन: एक टिप्पणी के आधार पर: यहां एक अच्छी व्याख्या के साथ एक पोस्ट है: http://www.mail-archive.com/jquery-en@googlegroups.com/msg04461.html

 $(this).attr("checked") ? $(this).val() : 0 

यह मान वापस करेगा अगर यह चेक किया गया है, या 0 यदि ऐसा नहीं है।

$(this).val() केवल डोम में पहुंच रहा है और तत्व की विशेषता "मूल्य" प्राप्त कर रहा है, चाहे वह चेक की गई हो या नहीं।