【发布时间】:2012-03-18 16:43:20
【问题描述】:
我有一个带有一些输入和选择的表单。我想用 jQuery 获取元素的类型。我知道我可以使用attr("input") 来获取元素是单选、复选框还是文本,但是selects 和textarea 呢?
有没有像.type()这样的整体功能可以搞定?
【问题讨论】:
标签: javascript jquery forms types
我有一个带有一些输入和选择的表单。我想用 jQuery 获取元素的类型。我知道我可以使用attr("input") 来获取元素是单选、复选框还是文本,但是selects 和textarea 呢?
有没有像.type()这样的整体功能可以搞定?
【问题讨论】:
标签: javascript jquery forms types
您可以使用:input 选择所有输入元素。
你可以试试……
$('#your-form').find(':input').click(function() {
var type = this.type || this.tagName.toLowerCase();
alert(type);
});
对于input 元素,这应该为您提供type 属性,例如text、radio、checkbox 等。
对于select 和textarea 元素,它应该为您提供标签名称,例如select 或textarea。
【讨论】:
select-one!见thisJSFiddle
select-one,您可以直接写 var type = this.type;
第一个 .attr('input') 不会给你类型,用这个作为输入:
var type = $('input').attr('type')
对于输入,选择和文本区域:
$('#formId :input').click(function() {
alert(this.tagName != 'INPUT' ? this.tagName : this.type);
});
:input 选择器docs:
说明:选择所有输入、文本区域、选择和按钮元素。
【讨论】:
$("#elm")[0].type
select-one!
select-one,而他不想select
Selects 和 textareas 是不同的标签。使用tagName。
element.tagName
【讨论】:
获取元素类型(输入、选择、div、span等):
var elementType = $(this).prop('tagName');
检查特定元素类型:
var is_element_input = $(this).is("input"); //true or false
获取输入类型(input type="button" 等)
var inputType = $(this).attr('type');
【讨论】:
给你所有的元素一个类名,比如“checktype”,然后使用:-
$(".checktype").click(function(){
alert(this.tagName);
})
【讨论】: