如何在javascript中检查元素类型

时间:2013-12-10 12:21:41

标签: javascript jquery html dom

我有一种情况,我希望使用某种条件将<select>标记转换为<input type="text"><input type="text">转换为<select> bu。 那么我怎么知道这个元素是一个类型文本或类型选择使用id属性。

5 个答案:

答案 0 :(得分:7)

还有一个纯粹的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'/>"

答案 1 :(得分:6)

使用

$("#inputID").attr("type");

如果您在上面提醒您将获得输入元素的类型,那么您可以相应地应用检查。

参考此处:http://api.jquery.com/attr/

更新

使用

检查
if(!$("#inputID").is("select")) {
    // the input field is not a select
}

在搜索时没有通过测试获得链接。

答案 2 :(得分:2)

使用jQuery获取元素类型:

var elementType = $("#myid").prop('tagName');

使用jQuery获取输入类型属性:

var inputType = $("#myid").attr('type');

答案 3 :(得分:1)

可能是例如:

   if($('#whateverid').attr('type') == "text")

答案 4 :(得分:0)

您可以使用.is()来测试元素是否为x类型

使用:text选择器测试文本输入元素

if($("#inputID").is(":text")){
    //to test for text type
}

使用element selector测试选择元素

if($("#inputID").is("select")){
    //to test for select
}