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
}