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