在opera中,element.tagName没有toUpperCase方法

时间:2013-09-01 10:07:21

标签: javascript html dom opera

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

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

    if(element instanceof HTMLInputElement)
    
  2. 检查tagName属性。这可以是inputINPUT,具体取决于文档doctype。这就是我使用.toUpperCase方法的原因。

     if(input.tagName.toUpperCase()=="INPUT")
    
  3. 我做错了什么,或者我应该坚持我的两个选项之间的OR,如下:

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

1 个答案:

答案 0 :(得分: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();

RESULT

INPUT

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