Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.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
Javascript 给定元素的id,如何检查元素是下拉列表元素还是文本输入元素?_Javascript_Html - Fatal编程技术网

Javascript 给定元素的id,如何检查元素是下拉列表元素还是文本输入元素?

Javascript 给定元素的id,如何检查元素是下拉列表元素还是文本输入元素?,javascript,html,Javascript,Html,在Javascript中,给定元素的id(以String格式),如何检查元素的id是指下拉列表元素还是文本输入元素 如果id引用下拉列表()元素或文本输入元素,则函数应返回true,否则返回false 如果已经包含jquery,则可以使用: 或许 $('#myid').is('input, textarea, select') 如果您还想包括textarea 或 (如果是textare、下拉列表或不是按钮的输入,则返回true) 您完全有能力根据自己的具体需要调整查询 演示:(尝试更改html

在Javascript中,给定元素的
id
(以
String
格式),如何检查元素的
id
是指下拉列表元素还是文本输入元素


如果
id
引用下拉列表(
)元素或文本输入元素,则函数应返回
true
,否则返回
false

如果已经包含jquery,则可以使用:

或许

$('#myid').is('input, textarea, select')
如果您还想包括textarea

(如果是textare、下拉列表或不是按钮的输入,则返回true)

您完全有能力根据自己的具体需要调整查询

演示:(尝试更改html)

尝试使用:
document.getElementById('IDNameGoesher')。标记名

因此,功能可以是:

function isSelectOrTextField(idName) {
    var element = document.getElementById(idName);
    if(element.tagName === 'SELECT') {return true;}
    if(element.tagName === 'INPUT' && element.type === 'text') {return true;}
    return false;
}
您也可以展开此项来检查

编辑: 或者选择jbabey,因为它使用的是
nodeName
,并且格式更好

显然


您可以检索dom元素,然后检查标记名

您可以使用dom元素的
节点名
类型
属性来确定这一点。不需要外部库

var isSelectOrTextInput = function (element) {
    var nodeName = element.nodeName;

    return nodeName === 'SELECT' || 
        (nodeName === 'INPUT' && 
         element.type.toLowerCase() === 'text');
};

工作示例:

此示例的优点是它不使用jquery。
function isSelectOrTextField(idName) {
    var element = document.getElementById(idName);
    if(element.tagName === 'SELECT') {return true;}
    if(element.tagName === 'INPUT' && element.type === 'text') {return true;}
    return false;
}
$('#myId')[0].tagName
var isSelectOrTextInput = function (element) {
    var nodeName = element.nodeName;

    return nodeName === 'SELECT' || 
        (nodeName === 'INPUT' && 
         element.type.toLowerCase() === 'text');
};