我想获得使用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);
}
答案 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()
。