使用 Javascript 和 JQuery 获取控件的类型
Posted
技术标签:
【中文标题】使用 Javascript 和 JQuery 获取控件的类型【英文标题】:Getting the type of a control using Javascript and JQuery 【发布时间】:2012-11-09 16:53:08 【问题描述】:我正在尝试使用 JQuery 来获取控件的类型,以下是我正在使用的代码。
$('#selCity').attr('type')
其中 selCity 是 select 类型。当我尝试上面的代码时,它返回未定义,但是当我使用带有 javascript 的替代代码时,它返回正确的类型。
请看这个小提琴清楚地理解它:http://jsfiddle.net/Ye8e9/
有人可以就如何使用 JQuery 正确实现这一点提出建议吗?这是 JQuery 的问题还是我犯了错误?
【问题讨论】:
【参考方案1】:如果你的意思是标签的类型,使用这个
$("#selCity").get(0).tagName
See your demo here
【讨论】:
Rab Nawaz,有没有我可以遵循的通用方法来获取所有控件。如果我为文本框尝试上面的代码,我会得到值“INPUT”,并且通过这个输出我不确定控件是隐藏字段还是文本框或密码字段。【参考方案2】:使用 nodeName 获取“标签类型”。 '.type' 指的是 select 没有的属性 'type'。
document.getElementById('selCity').nodeName
【讨论】:
我不确定或不明白您所说的属性“类型”的含义对于选择控件不存在。下面代码执行时javascript如何输出数据 document.getElementById('selCity').type【参考方案3】:使用
$('#selCity').prop('type')
从 jQuery 1.6 开始,.attr() 方法返回未定义的属性 尚未设置。此外, .attr() 不应用于 普通对象、数组、窗口或文档。检索和 更改 DOM 属性,使用 .prop() 方法。
Reference
DEMO
【讨论】:
@AbishekRSrikaanth 检查我的参考资料 @AbishekRSrikaanth 您可以将 .prop 用于所有类型的 html 元素,查看我的演示【参考方案4】:因为 select 中没有 type 属性,所以你得到了 undefined。
试试这个
$('#selCity')[0].tagName;
【讨论】:
以上是关于使用 Javascript 和 JQuery 获取控件的类型的主要内容,如果未能解决你的问题,请参考以下文章
JavaScript 使用jQuery获取当前页面URL和标题
使用 JavaScript 或 jQuery 获取当前月份的第一个和最后一个日期 [重复]
如何使用 javascript/jquery 从 URL 中删除获取变量和文件名?
如何使用 Javascript 或 Jquery 获取网页图标/ Apple 触摸图标和标题?