确定输入类型 - jQuery

时间:2013-07-11 04:39:34

标签: javascript jquery

我需要确定一个元素的类型,可能由它的id属性标识。

例如,采用以下形式......

<form id='my-form'>
  <input type='text' id='title' />
  <textarea id='comment'></textarea>
</form>

我想找到一种方法来确定$('#title')是一个文本框。

经过一些搜索后,我尝试了类似这样的事情,但它会返回undefined

$('#title').type

但有些事情似乎有效,我不知道为什么......

$('#my-form :input').each( function() {
  alert(this.type);
} );

以上情况我会猜测texttextarea。但是当我使用第一个时,它会给出未定义的。

给定一个元素的ID,我该如何找到它的类型。

提前感谢。

4 个答案:

答案 0 :(得分:2)

您可以通过编写

来获取元素的类型
$("#target").attr('type');

或使用

$("#target").get(0).tagName  // return tag name like INPUT,TEXTAREA ..etc

答案 1 :(得分:1)

input是普通代码,您应该使用:

$('#my-form input').each( function() {
  alert(this.type);
});

这将返回undefined:

$('#title').type

因为$("#title")是jQuery对象而type是HTML Element的属性。你可以从jQuery对象中获取HTML元素,如下所示:

$('#title').get(0).type

答案 2 :(得分:1)

您可以使用

if($('#title').is('input')){
    alert('title in an input element')
} else if($('#title').is('textarea')){
    alert('title in an textarea)
}

答案 3 :(得分:1)

$('#title').attr('type') ;

OR

$('#title').prop('type');