2011-01-18 18 views
30

प्राप्त करें मैं तत्व का प्रकार प्राप्त करना चाहता हूं, जिसे मैंने jQuery चयनकर्ताओं का उपयोग करके चुना है।चयनित तत्व प्रकार

मार्कअप:

<select name="a"></select> 
<input name="b" type="text" /> 
<textarea name="c"></textarea> 

जावास्क्रिप्ट:

var field_names = new Array(
    'a', 
    'b', 
    'c' 
); 

for(var i = 0; i < field_names.length; i++) { 
    var field = $('[name=' + required_fields[i] + ']:visible'); 

    // ????? 
    // What do I write here to get one of those outputs: 
    // Element with name a is <select> 
    // Element with name b is <input> 
    // Element with name c is <textarea> 

    alert('Element with name ' + required_fields[i] + ' is ' + element_type); 
} 

उत्तर

50

सरल:

var element_type = '<' + field.get(0).tagName.toLowerCase() + '>'; 

संक्षेप में, इस field के साथ जुड़े डोम तत्व प्राप्त करता है और tagName विशेषता DOMElement से विरासत में मिला के माध्यम से अपने टैग नाम हो जाता है, तो परिणाम बदल देती है String के toLowerCase() पद्धति का उपयोग करके लोअरकेस । कुछ ब्राउज़र tagName को अपरकेस में वापस कर देंगे, इसलिए स्थिरता के लिए आपको इसे कम मामले में बदलना चाहिए।

39

उपयोग DOM एलीमेंट के tagName संपत्ति:

var element_type = field[0].tagName; 

ध्यान दें कि ब्राउज़रों मामले tagName द्वारा लौटाए गए के बारे में पूरी तरह से संगत नहीं हैं, तो आपको शायदपर कॉल करना चाहिएसुरक्षित होने के लिए: field[0].tagName.toLowerCase()

+0

कुछ दस्तावेज को जोड़ने के लिए बहुत धन्यवाद! – calvin

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