我試圖找出哪些是DOM對象或區分是一個JavaScript對象如何DOM對象和JavaScript對象
var domObj =document.getElementById('lga');
typeof domObj
"object"
var jsObj = {name:"BP"}
typeof jsObj
"object"
那我怎麼確定哪些是DOM對象或JS對象。
我試圖找出哪些是DOM對象或區分是一個JavaScript對象如何DOM對象和JavaScript對象
var domObj =document.getElementById('lga');
typeof domObj
"object"
var jsObj = {name:"BP"}
typeof jsObj
"object"
那我怎麼確定哪些是DOM對象或JS對象。
您可以使用
domObj instanceof HTMLElement; // true
它將爲
jsObj instanceof HTMLElement; // false
是假的。在if
它看起來像這樣
if (domObj instanceof HTMLElement) {
// ...
}
else {
// ...
}
您可以通過檢查他們的constructor
財產
document.body.constructor; // function HTMLBodyElement() { [native code] }
更多地瞭解你的對象,我認爲這應該是幫助 Javascript isDOM - How do you check if a Javascript Object is a DOM Object
這給出了一個跨瀏覽器的方式來處理的要求,在同一時間解釋常見瀏覽器的基礎實現。
我認爲這應該回答你如何識別HTMLElement
類型的object
的問題。
DOM對象*是* javascript對象,如果通過javascript訪問它們。 – Brandon
所以你真正想知道的是「有些對象是DOM對象還是不是DOM對象?」 – Brandon
jQuery只會'else if(selector.nodeType)'。當然,如果普通對象具有這樣的屬性,你會得到誤報。 –