簡體   English   中英

JavaScript測試變量是否為可能的DOM元素

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM