1

我需要确定元素的类型,可能由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

4 回答 4

2

您可以通过编写来获取元素的类型

$("#target").attr('type');

或使用

$("#target").get(0).tagName  // return tag name like INPUT,TEXTAREA ..etc
于 2013-07-11T04:49:42.787 回答
1

input是一个普通的标签,你应该使用:

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

这将返回未定义:

$('#title').type

因为$("#title")是一个 jQuery 对象并且type是 HTML Element 的一个属性。您可以像这样从 jQuery 对象获取 HTML 元素:

$('#title').get(0).type
于 2013-07-11T04:40:38.723 回答
1

您可以使用

if($('#title').is('input')){
    alert('title in an input element')
} else if($('#title').is('textarea')){
    alert('title in an textarea)
}
于 2013-07-11T04:40:48.093 回答
1
$('#title').attr('type') ;

或者

$('#title').prop('type');
于 2013-07-11T04:41:23.127 回答