因为HTMLElement.tagName
属性大小写因XHTML / HTML而异,所以我继续使用:
if(element.tagName.toLowerCase()=="div")
//Or, if I feel big
if(element.tagName.toUpperCase()=="DIV")
通常,我真的不喜欢对字符串执行操作,尤其是在使用不可变字符串的语言中。
但是,我可以使用instanceof
运算符完全避免使用字符串。 IE的旧版本不支持此解决方案,我不关心:
if(element instanceof HTMLDivElement)
所以我的问题是:
答案 0 :(得分:0)
假设您没有使用XHTML,则没有理由进行案例检查。 HTML将始终以大写形式返回tagName
。
如果您正在编写必须同时使用XHTML和HTML的内容,那么您可以将字符串转换为大写或小写作为初始示例。没有理由避免像这样的字符串操作 - 并且没有理由避免使用不可变字符串的语言中的字符串操作。
使用instanceof
也是一种可接受的方法,只要您了解IE的限制,例如您提到的。