Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 从名称中查找输入类型_Jquery - Fatal编程技术网

Jquery 从名称中查找输入类型

Jquery 从名称中查找输入类型,jquery,Jquery,有没有办法从名称中获取输入的类型?例如:对于,我想知道它是输入、文本区域还是选择。那么,可以从name中找到输入的类型吗 var eltype = $('*[name="abc"]').prop('tagName'); 例如: 编辑 正如@Wesley Murch所述,标记名属性返回一个大写字符串,如果您需要它,只需执行以下操作: var eltype = $('[name="abc"]').prop('tagName').toLowerCase(); @Wesley Murch再一次正确地

有没有办法从名称中获取输入的类型?例如:对于
,我想知道它是输入、文本区域还是选择。那么,可以从name中找到输入的类型吗

var eltype = $('*[name="abc"]').prop('tagName');
例如:

编辑

正如@Wesley Murch所述,
标记名
属性返回一个大写字符串,如果您需要它,只需执行以下操作:

var eltype = $('[name="abc"]').prop('tagName').toLowerCase();
@Wesley Murch再一次正确地说,
*
在不必要的事实中
[name=“abc”]
足以选择名为
abc

EDIT2

标记名
是您使用
[name=“abc”]
选择的jQuery对象的属性,它表示其标记名。在你的问题中,你称它为type,但实际上正确的名称是tagname

EDIT3

如果您使用的是jQuery版本<1.6,则必须使用
attr
而不是
prop
,因为jQuery 1.6引入了prop函数

var eltype = $('[name="abc"]').attr('tagName').toLowerCase();

无论如何,我的建议是,如果您没有太多依赖旧jQuery的代码来检索输入类型,请升级jQuery:

$('*[name="abc"]').attr('type');
用于检索标记名:

$('*[name="abc"] :eq(0)').tagName;

您可以使用以下内容:

$element = $('*[name="target"]');
$result = $('#result');
if ($element.prop('tagName') == 'INPUT') {
    $result.text($element.attr('type'));
}
else {
    console.log('foo');
    $result.text($element.prop('tagName').toLowerCase());
}
这应该适用于输入和
s等


这不会获取元素类型,只获取
类型
属性。“我想知道它是input、textarea还是select。”是的,这是为Selected提供“select one”标记名不显示:(注意,这通常(总是?)会返回大写标记名,因此请确保记住,如果与字符串进行比较,使用类似于
if(eltype=='input')
的内容会有问题。(另外,
*
是不必要的)它是大写还是小写取决于浏览器和doctype,因此您应该始终使用
toUpper/lowercase
对其进行规范化。是的,它似乎在JSFIDLE中工作,但我收到了这个错误“TypeError:$(“*[name=\'abc\'”)。prop不是一个函数”您使用的是哪个jQuery版本?如果是1.6版之前的版本,您应该使用
attr
而不是
prop