if (((document.activeElement).parentNode).tagName == "div") {
//do amazing things
}
出于某种原因,我的一个特定功能不起作用,我认为它与上面的行有关。上面的行在语法上是正确的还是错误的?如果上面的行是正确的,我要么删除问题(因为这样问题就没用了),要么添加函数其余部分的附加信息。
谢谢
if (((document.activeElement).parentNode).tagName == "div") {
//do amazing things
}
出于某种原因,我的一个特定功能不起作用,我认为它与上面的行有关。上面的行在语法上是正确的还是错误的?如果上面的行是正确的,我要么删除问题(因为这样问题就没用了),要么添加函数其余部分的附加信息。
谢谢
tagName 以大写形式给出标签,因此它会给出DIV
请参阅https://developer.mozilla.org/en-US/docs/DOM/element.tagName
您可以使用.toLowerCase() == 'div'
(如评论中的建议)来消除案例问题。
你不需要所有的括号。为了安全起见,请使用tagName.toLowerCase()
.
if (document.activeElement.parentNode.tagName.toLowerCase() == "div") {
//do amazing things
}
可能有些浏览器有时不会给出与其他浏览器相同的大小写。这可以确保您始终比较相同的情况。
在 HTML 的上下文中,tagName
字段中的值总是大写的。但是,如果您在 XML/XHTML 上下文中运行此脚本,它将返回与提供的标签完全相同的名称(不一定是大写)。
尝试调用document.activeElement.parentNode.tagName.toLowerCase()
使其始终小写。
尝试这个
if (((document.activeElement).parentNode).tagName === "DIV") {
//do amazing things
}