Javascript 如何确定元素是按钮还是文本框
如何在jquery中确定元素是Javascript 如何确定元素是按钮还是文本框,javascript,jquery,Javascript,Jquery,如何在jquery中确定元素是输入按钮类型还是文本类型 谢谢 或 或 或 或 或 或 检查元素的标记名: element.prop('tagName') 对于标记,还要检查类型: element.prop('type'); 检查元素的标记名: element.prop('tagName') 对于标记,还要检查类型: element.prop('type'); 如果您有: var field = $("some selector that finds the input");
输入
按钮类型还是文本
类型
谢谢
或
或
或
或
或
或
检查元素的标记名:
element.prop('tagName')
对于
标记,还要检查类型:
element.prop('type');
检查元素的标记名:
element.prop('tagName')
对于
标记,还要检查类型:
element.prop('type');
如果您有:
var field = $("some selector that finds the input");
然后
…将是输入
或按钮
或选择
或文本区域
,告诉您创建字段使用的标记
如果是输入
,则
field[0].type
// or
field.attr('type')
// or
field.prop('type')
…将是输入
标记的类型(例如“文本”
,“按钮”
,等等)
|
HTML:
挑选
文本区
钮扣
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);
}
});
jQuery(函数($){
$(“输入、选择、文本区域、按钮”)。每个(函数(索引){
var-msg;
变量字段=$(此字段);
msg=“[”+索引+”]:标记名为“+字段[0]。标记名;
如果(字段[0]。标记名==“输入”){
msg+=”,类型为“+field.prop('type');
}
显示(msg);
});
功能显示(msg){
$(“”).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
[0]:输入标记名,类型为文本
[1] :标记名为输入,类型为按钮
[2] :标记名为SELECT
[3] :标记名是TEXTAREA
[4] :标记名是按钮
注意,我在那里只使用了field=$(this)
,这样我们就可以在每个元素周围使用jQuery包装器。如果您已经有一个原始DOM元素引用(正如我们在该循环中所做的那样,如this
),则无需这样做,只需直接使用elm.tagName
和elm.type
。如果您有:
var field = $("some selector that finds the input");
然后
…将是输入
或按钮
或选择
或文本区域
,告诉您创建字段使用的标记
如果是输入
,则
field[0].type
// or
field.attr('type')
// or
field.prop('type')
…将是输入
标记的类型(例如“文本”
,“按钮”
,等等)
|
HTML:
挑选
文本区
钮扣
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);
}
});
jQuery(函数($){
$(“输入、选择、文本区域、按钮”)。每个(函数(索引){
var-msg;
变量字段=$(此字段);
msg=“[”+索引+”]:标记名为“+字段[0]。标记名;
如果(字段[0]。标记名==“输入”){
msg+=”,类型为“+field.prop('type');
}
显示(msg);
});
功能显示(msg){
$(“”).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
[0]:输入标记名,类型为文本
[1] :标记名为输入,类型为按钮
[2] :标记名为SELECT
[3] :标记名是TEXTAREA
[4] :标记名是按钮
注意,我在那里只使用了
field=$(this)
,这样我们就可以在每个元素周围使用jQuery包装器。如果您已经有一个原始DOM元素引用(正如我们在该循环中所做的那样,如this
),则无需这样做,只需直接使用elm.tagName
和elm.type
。@FlorianMargaine:但OP的问题很明显,它是一个输入代码悖论:我会选择input
而不是:input
,因为这个原因。@T.J.Crowder OP的问题显然不清楚。这就是为什么我对詹姆斯的答案投了赞成票。@T.J.Crowder-我把这个问题理解为询问一个元素是输入
、一个按钮还是一个文本区域
(不是输入
)@jamesalardice:我明白你的意思。更多信息:我认为我的Asp.net按钮转换为按钮
元素,但它转换为提交
输入。所以我应该检查.is(':submit')代码>任意一个。thanks@FlorianMargaine:但OP的问题很清楚,这是一个输入代码悖论:我会选择input
而不是:input
,因为这个原因。@T.J.Crowder OP的问题显然不清楚。这就是为什么我对詹姆斯的答案投了赞成票。@T.J.Crowder-我把这个问题理解为询问一个元素是输入
、一个按钮还是一个文本区域
(不是输入
)@jamesalardice:我明白你的意思。更多信息:我认为我的Asp.net按钮转换为按钮
元素,但它转换为提交
输入。所以我应该检查.is(':submit')代码>任意一个。谢谢。从答案中你可能会看到,对你的实际意思有些困惑。我把你的问题理解为“一个元素是输入
,按钮
或文本区域
。对吗?或者你是说“一个输入
按钮或文本类型的元素”?或者你是说“如果一个元素是输入文本
或输入按钮
“正如你可能从答案中看到的那样,人们对你的真正意思有些困惑。我把你的问题理解为“一个元素是输入
,按钮
或文本区域
。对吗?或者你的意思是“一个输入
类型的按钮或文本
”还是“如果一个元素是输入文本
或输入按钮
”?