2008-10-31 15 views
117

मुझे जावास्क्रिप्ट में एक HTML तत्व के प्रकार को निर्धारित करने के लिए एक तरीका चाहिए। इसमें आईडी है, लेकिन तत्व स्वयं एक div, एक फार्म फ़ील्ड, एक फ़ील्ड, आदि हो सकता है। मैं इसे कैसे प्राप्त कर सकता हूं?मैं जावास्क्रिप्ट में एक HTML तत्व के प्रकार को कैसे निर्धारित कर सकता हूं?

उत्तर

182

nodeName वह विशेषता है जिसे आप ढूंढ रहे हैं। उदाहरण के लिए:

var elt = document.getElementById('foo'); 
console.log(elt.nodeName); 

ध्यान दें कि nodeName रिटर्न तत्व नाम पूंजीकृत और कोण कोष्ठक के बिना, जिसका अर्थ है कि आप अगर एक तत्व एक <div> तत्व आप यह कर सकता है इस प्रकार है की जाँच करना चाहते हैं:

elt.nodeName == "DIV" 

हालांकि यह आप अपेक्षित परिणाम नहीं देना होगा:

elt.nodeName == "<div>" 
+14

मैं इस तरह यह करने की सलाह देते: अगर (elt.nodeName.toLowerCase() === "div") {...} इस तरह, (लोअरकेस किसी कारण से यह अब बड़े अक्षरों में ही दिया जाता है, तो या मिश्रित), आपको इसे बदलना नहीं होगा और यह कोड अभी भी ठीक काम करेगा। – TheCuBeMan

+1

@TheCuBeMan के जवाब में, toLowerCase() का उपयोग करने का अर्थ है कि आपको यह सुनिश्चित करने की भी आवश्यकता है कि नोडनाम मौजूद है (यदि यह संभवतः एटीटी नहीं है, वास्तव में, एक तत्व है): 'if (elt.nodeName && elt.nodeName.toLowerCase () === 'div') {...} ' –

27

element.tagName के बारे में क्या?

tagName docs on MDN भी देखें।

+1

timestamps के अनुसार तुम मुझे 1 सेकंड से कम से पार कर लिया! – eyelidlessness

+1

मैं कुछ असाधारण अंग्रेजी में फेंकने में भी कामयाब रहा। क्रिकी! QuirksMode से –

+19

: मेरी सलाह टैगनाम का उपयोग नहीं करना है। नोडनाम में टैगनाम की सभी कार्यक्षमताएं हैं, साथ ही कुछ और। इसलिए नोडनाम हमेशा बेहतर विकल्प है। – bdukes

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

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