获取所选元素类型

时间:2011-01-18 19:00:41

标签: javascript jquery

我想获得使用jQuery选择器选择的元素类型。

标记:

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

使用Javascript:

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);
}

2 个答案:

答案 0 :(得分:58)

简单:

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

简而言之,这将检索与field关联的DOM元素,并通过从tagName继承的DOMElement属性获取其标记名称,然后使用{{1将结果转换为小写我的String方法。有些浏览器会以大写形式返回toLowerCase(),因此为了保持一致性,您应该将其转换为小写。

答案 1 :(得分:51)

使用DOM元素的tagName属性:

var element_type = field[0].tagName;

请注意,浏览器与tagName返回的案例并不完全一致,因此您应该致电toLowerCase以确保安全:field[0].tagName.toLowerCase()