如何在javascript中检查元素类型
Posted
技术标签:
【中文标题】如何在javascript中检查元素类型【英文标题】:How to check element type in javascript 【发布时间】:2013-12-27 23:11:59 【问题描述】:我有一种情况,我想使用某些条件将<select>
标签转换为<input type="text">
和<input type="text">
转换为<select>
bu。
那么我怎么知道这个元素是文本类型或使用id属性选择类型。
【问题讨论】:
select
不是输入,所以没有select
类型。 Input 的 type
属性和 htmlElement 的 nodeType
属性是两个不同的东西。
Get element type with jQuery 的可能重复项
抱歉,我指的是tagName
,而不是nodeType
。
你的情况如何?
【参考方案1】:
还有一个纯javascript解决方案:
function toggle(a)
if(a.tagName === 'INPUT')
a.outerHTML = '<select id="toggle"></select>';
else
a.outerHTML = '<input type="text" id="toggle"/>'
http://jsfiddle.net/M6qXZ/1/
2018 ES6
e => e.outerHTML = e.tagName === "INPUT" ? "<select id='toggle'></select>" : "<input id='toggle'/>"
【讨论】:
【参考方案2】:通过使用
$("#inputID").attr("type");
如果您在上面提醒您将获得输入元素的类型,那么您可以相应地应用检查。
参考这里:http://api.jquery.com/attr/
更新
检查使用
if(!$("#inputID").is("select"))
// the input field is not a select
在搜索时从链接获取,但未经过测试。
【讨论】:
它显示未定义的选择标签,但它适用于 标签【参考方案3】:你可以使用.is()来测试元素是否是x类型的
使用:text选择器测试文本输入元素
if($("#inputID").is(":text"))
//to test for text type
使用element selector 测试选择元素
if($("#inputID").is("select"))
//to test for select
【讨论】:
【参考方案4】:使用 jQuery 获取元素类型:
var elementType = $("#myid").prop('tagName');
使用jQuery获取输入类型属性:
var inputType = $("#myid").attr('type');
【讨论】:
【参考方案5】:条件可以是例如:
if($('#whateverid').attr('type') == "text")
【讨论】:
以上是关于如何在javascript中检查元素类型的主要内容,如果未能解决你的问题,请参考以下文章