if (((document.activeElement).parentNode).tagName == "div") {
//do amazing things
}由于某种原因,我的一个特定函数无法工作,我认为这与上面的代码行有关。上面这行在语法上是正确的,还是错误的?如果上面的行是正确的,我将删除问题(因为这样问题就没有用了),或者添加函数其余部分的附加信息。
谢谢
发布于 2012-08-16 06:20:45
tagName给出的标签是大写的,所以它会给出DIV
请参阅https://developer.mozilla.org/en-US/docs/DOM/element.tagName
您可以使用.toLowerCase() == 'div'(按照注释中的建议)来消除大小写问题。
发布于 2012-08-16 06:22:55
你不需要所有的父母。为了安全起见,使用tagName.toLowerCase()。
if (document.activeElement.parentNode.tagName.toLowerCase() == "div") {
//do amazing things
}可能有一些浏览器有时不会提供与其他浏览器相同的大小写。这将确保您始终比较相同的大小写。
发布于 2012-08-16 06:23:13
在HTML上下文中,tagName字段中的值始终是大写的。但是,如果您在XML/XHTML上下文中运行此脚本,它将返回与所提供的完全相同的标记名称(不一定是大写的)。
尝试调用document.activeElement.parentNode.tagName.toLowerCase()以使其始终为小写。
https://stackoverflow.com/questions/11978165
复制相似问题