如何确定某个元素是input
是button
类型还是jquery中的text
类型?
感谢
答案 0 :(得分:4)
$('input').attr('type')
或
$('input').prop('type')
<强> DEMO 强>
或
$('input').is(':button');
$('input').is(':text');
<强> DEMO 强>
或
$(target)[0].tagName
<强> DEMO 强>
答案 1 :(得分:1)
如果你有:
var field = $("some selector that finds the input");
然后
field[0].tagName
...将是INPUT
或BUTTON
或SELECT
或TEXTAREA
,告诉您用于创建字段的标记。
如果是INPUT
,那么
field[0].type
// or
field.attr('type')
// or
field.prop('type')
...将是input
标记的类型(例如"text"
,"button"
等。)
HTML:
<input type="text" value="text field">
<br><input type="button" value="input button">
<br><select><option>select</option></select>
<br><textarea>textarea</textarea>
<br><button>button</button>
JavaScript的:
jQuery(function($) {
$("input, select, textarea, button").each(function(index) {
var msg;
var field = $(this);
msg = "[" + index + "]: tagName is " + field[0].tagName;
if (field[0].tagName === "INPUT") {
msg += ", and type is " + field.prop('type');
}
display(msg);
});
function display(msg) {
$("<p>").html(msg).appendTo(document.body);
}
});
输出:
[0]: tagName is INPUT, and type is text [1]: tagName is INPUT, and type is button [2]: tagName is SELECT [3]: tagName is TEXTAREA [4]: tagName is BUTTON
请注意,我只使用field = $(this)
,因此我们在每个元素周围都有一个jQuery包装器。如果您已经拥有原始DOM元素引用(就像我们在该循环中那样,this
),则无需执行此操作,只需直接使用elm.tagName
和elm.type
。
答案 2 :(得分:0)
检查元素的标记名称:
element.prop('tagName')
对于<input>
代码,还请检查类型:
element.prop('type');