0

要检查是否将正确的 DOM 元素传递给函数,我可以使用两种方法:

  1. 检查实例(在 IE 中不起作用):

    if(element instanceof HTMLInputElement)
    
  2. 检查 tagName 属性。这可以是input或者INPUT取决于文档文档类型。这就是我使用.toUpperCase方法的原因。

     if(input.tagName.toUpperCase()=="INPUT")
    

那么我是不是做错了什么,或者我应该坚持在我的两个选项之间使用 OR,如下所示:

input.tagName!=null&&input.tagName.toUpperCase!=null&&input.tagName.toUpperCase()=="INPUT"
||
input instanceof HTMLInputElement
4

1 回答 1

0

你的代码一定有问题。这在歌剧中很完美:

http://jsfiddle.net/sW7WB/

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();

结果

INPUT

也许您没有正确选择元素。您确定在加载页面时正在执行脚本吗?

于 2013-09-01T10:12:30.767 回答