我有一个包含一些输入和选择的表单。我想用jQuery获取点击的元素类型。我知道如果元素是广播,复选框或文字,我可以使用attr("input")
获取selects
和textarea
呢?
是否有像.type()
这样的整体功能来获取它?
答案 0 :(得分:19)
您可以使用: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
。
答案 1 :(得分:6)
首先.attr('input')
不会为您提供类型,请将其用于输入:
var type = $('input').attr('type')
对于输入,请选择和textarea:
$('#formId :input').click(function() {
alert(this.tagName != 'INPUT' ? this.tagName : this.type);
});
:input
选择器docs:
描述:选择所有输入,textarea,select和按钮元素。
<强> JSFiddle DEMO 强>
答案 2 :(得分:1)
获取元素类型(input,select,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');
答案 3 :(得分:0)
选择和textareas是不同的标签。使用tagName
。
element.tagName
答案 4 :(得分:0)
为所有元素提供一个类名称为“checktype”,然后使用: -
$(".checktype").click(function(){
alert(this.tagName);
})