在opera中,element.tagName没有UpperCase的方法

In opera, element.tagName has no method toUpperCase

本文关键字:没有 UpperCase 方法 tagName element opera      更新时间:2023-09-26

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

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

    if(element instanceof HTMLInputElement)
    
  2. 检查tagName属性。根据文档doctype的不同,可以是inputINPUT。这就是我使用.toUpperCase方法的原因。

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

那么我是做错了什么,还是应该在我的两个选项之间坚持or,比如:

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

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

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

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