if (((document.activeElement).parentNode).tagName == "div") {
//do amazing things
}
由于某种原因我的特定功能无法正常工作,我认为它与上面的行有关。上面的语句是语句正确还是错误?如果上面的行是正确的,我将删除该问题(因为那么问题是无用的),或者添加其他功能的附加信息。正确使用.tagName
感谢
if (((document.activeElement).parentNode).tagName == "div") {
//do amazing things
}
由于某种原因我的特定功能无法正常工作,我认为它与上面的行有关。上面的语句是语句正确还是错误?如果上面的行是正确的,我将删除该问题(因为那么问题是无用的),或者添加其他功能的附加信息。正确使用.tagName
感谢
标记名给出了大写的标记,以便它会给DIV
见https://developer.mozilla.org/en-US/docs/DOM/element.tagName
您可以使用.toLowerCase() == 'div'
(如在评论中所建议的)来消除的情况下的问题。
试试这个
if (((document.activeElement).parentNode).tagName === "DIV") {
//do amazing things
}
你并不需要所有的括号。为了安全起见,请使用tagName.toLowerCase()
。
if (document.activeElement.parentNode.tagName.toLowerCase() == "div") {
//do amazing things
}
可能有一些浏览器有时不会给出与其他情况相同的情况。这确保你总是比较相同的情况。
ty说你不需要所有的parens,不知道是不是。 – 2012-08-15 22:24:45
由tagName返回的HTML值始终为大写。但是如果你想在XML/XHTML中运行这个脚本,它将返回标记的名称,因为它不一定是大写。尝试拨打document.activeElement.parentNode.tagName.toLowerCase()
DIV或“DIV”?只是想知道 – 2012-08-15 22:21:06
@Hubrid:'tagName'是一个字符串,所以''DIV''。您也可以将其转换为小写:'.tagName.toLowerCase()==='div''。 – 2012-08-15 22:21:35
tys,upvotes,奖励这些用户! – 2012-08-15 22:22:19