2011-05-24 19 views
34
e.g. if i have this: 
<div id='mydiv'>whatever</div> 

तो jQuery में कहें, मैं कैसे पता लगा सकता हूं कि आईडी "mydiv" वाला डोम तत्व एक डीवी है या कुछ अन्य तत्व प्रकार है।किस प्रकार का डोम तत्व?

$('#mydiv').get(0).tagName // yields: 'DIV' 

उत्तर

48
var type = $('#mydiv')[0].tagName 

alert(type); 
//displays "DIV" 
+0

यह क्रोम में "1" के रूप में प्रदर्शित होता है। अन्य ब्राउज़रों के बारे में नहीं जानते ... – Shaz

+1

सच है, टैगनाम सही संपत्ति है। –

+5

'टैगनाम' बनाम 'नोडनाम': http://bit.ly/16X3oBL – Shaz

45

यदि दिए गए समुच्चय में कुछ भी एक और चयनकर्ता से मेल खाता is जो परीक्षण की कोशिश करो एक तत्व चयनकर्ता ऑब्जेक्ट में ऑब्जेक्ट्स की एक सरणी हो सकती है।

.get() डीओएम ऑब्जेक्ट्स, पैरामीटर इंडेक्स की सरणी देता है। nodeType एक संपत्ति है जो डोम द्वारा उजागर की गई है जो आपको बताती है कि डोम नोड का प्रकार क्या है। आम तौर पर सभी कैप्स आईआईआरसी में एक स्ट्रिंग के रूप में।

सुधारnodeType आपको एक नोड टाइप के अनुरूप एक आईएनटी देता है। tagName वह है जो आप चाहते हैं।

+1

यह '[0] .tagName === "DIV" 'के रूप में बहुत साफ है। – Mijago

1

$('#mydiv').get(0).nodeType यदि आप जानते हैं वहाँ केवल:

if($('#mydiv').is('div')){ 
    // it's a div 
} 

तुम भी टैग इस तरह से प्राप्त कर सकते हैं:

e.g. 
$('#mydiv').???? ? 
+2

+1 - सबस्क्रिप्ट ऑपरेटर भी है: '$ ('# mydiv') [0] .nodeType' और टैगनाम:' $ ('# mydiv') [0]। टैग नाम के लिए – karim79

+0

+1। भूल गए कि नोड टाइप एक int बाहर थूकता है। –

1
var domElement = $('#mydiv').get(0); 
alert(domElement .tagName); 

उपयोग का उपयोग किया जा सकता है।

2

.prop() समारोह ऐसा करने का एक अच्छा तरीका है।

// Very jQuery 
$('#mydiv').prop('tagName'); 

// Less jQuery 
$('#mydiv')[0].tagName; 

दोनों एक ही परिणाम देते हैं।

और, जैसा कि अराम कोचर्यन ने टिप्पणी की, आप शायद इसे .toLowerCase() के साथ मानकीकृत करना चाहते हैं।

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