[英]JavaScript test whether variable is a possible DOM element
這個問題以前曾被問過,但(a)很久以前和(b)過去的一些答案都包括jQuery。
對於當前的瀏覽器(包括IE> = 8),測試變量是否為DOM元素的最簡單可靠的方法是什么?
我不在乎該元素當前是否在DOM中。 我對變量是否包含有效的元素對象更感興趣。
我正在編寫一個需要在文檔元素和字符串之間進行選擇的函數。 這是我的看法:
function doit(element) {
if (element instanceof Element) {
// document element
} else if (typeof element == 'string') {
// string
}
// else out of luck
}
這里對元素使用了instanceof
,對字符串使用了typeof
,將我在其他地方閱讀的內容拼湊在一起。
在當今的瀏覽器中(如果包括IE,則在昨天的瀏覽器中),這是最有效/正確的方法嗎?
謝謝
您可以反過來檢查它,例如:
function doit(element) {
if(typeof element === 'string') { // to be save -> always use type check in js (===)
// string
}
else {
// assuming it is a document element
}
}
如果您真的想在HTML元素上進行檢查,則也可以依賴這篇文章 。
劇透: ... instanceof HTMLElement
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.