दिलचस्प पोस्ट
एकाधिक पास के साथ कोर डेटा माइग्रेशन के उदाहरण या स्पष्टीकरण? नक्शा () और सूची की समझ के परिणाम अलग क्यों हैं? मैं एंड्रॉइड में गोल कोनों के साथ एक सूची दृश्य कैसे बना सकता हूं? jQuery के स्क्रोल () उपयोगकर्ता को स्क्रॉल करने से रोकते हुए पता लगा है PHP में फ़ाइल की सामग्री-प्रकार कैसे प्राप्त करें? Href बनाम onclick में जावास्क्रिप्ट फ़ंक्शन IOS में एक uiviewcontroller में सभी सबव्यूज़ कैसे सूचीबद्ध करें? नियमित अभिव्यक्ति पैटर्न स्ट्रिंग में कहीं भी मेल नहीं खाता कैसे बड़ी (1 जीबी) टीसीटीटी फ़ाइल को .net में पढ़ा जा सकता है? `Void_t` काम कैसे करता है कैसे रोकें / चलायें NSTimer? एसक्यूएल का चयन करके एक स्तंभ को छोड़कर तालिका ए से? उद्देश्य सी क्लास से कॉल स्विफ्ट फ़ंक्शन रेल 4 नेस्टेड विशेषताएँ Unpermitted पैरामीटर स्ट्रिंग में दो स्ट्रिंग्स के बीच स्ट्रिंग प्राप्त करें

कैसे एक 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() केवल डोम में पहुंच रहा है और तत्व की विशेषता "मूल्य" प्राप्त कर रहा है, चाहे वह चेक की गई हो या नहीं।