要检查是否将正确的DOM元素传递给函数,我可以使用两种方法:
检查实例(在IE中不起作用):
if(element instanceof HTMLInputElement)
检查tagName属性。这可以是input
或INPUT
,具体取决于文档doctype。这就是我使用.toUpperCase
方法的原因。
if(input.tagName.toUpperCase()=="INPUT")
我做错了什么,或者我应该坚持我的两个选项之间的OR,如下:
input.tagName!=null&&input.tagName.toUpperCase!=null&&input.tagName.toUpperCase()=="INPUT"
||
input instanceof HTMLInputElement
答案 0 :(得分:0)
您的代码肯定存在问题。这在歌剧中非常完美:
HTML
<input id="test" type="text" value"hello">
<div id="result"></div>
JS
var element = document.getElementById('test');
var result = document.getElementById('result');
result.innerHTML = element.tagName.toUpperCase();
RESULT
INPUT
也许你没有正确选择元素。您确定在加载页面时正在执行脚本吗?