2011-09-20 26 views
1

我希望通過instanceof運算符檢查傳遞給我的函數的參數是否爲HTMLElement。我知道這在IE7中不起作用,因爲AFAIK IE7沒有定義HTMLElement。我想:沒問題,我會回到像Node這樣的父級原型。但是,隨着StackOverflow的答案已經瞭解到我,節點對象也沒有在IE7中定義IE7中的HTMLElement原型

現在測試我的參數是節點/ HTMLElement的最好方法是什麼?我做錯了嗎?

回答

0

我沒有使用IE7在年齡,但我會檢查一個if (typeof elementNode == 'element') 它可能是'元素'或'HTMLElem ENT」。爲了確保首先做一個alert(typeof elementNode);知道它的類型。那麼你可以比較它。

編輯:第一評論員澄清↑這不應該工作。

然後,我會嘗試檢查是否有像nodeType或nodeName這樣的成員。 也許像if (elementNode.nodeName !== null)這樣的例子。始終嘗試alert()。

+1

不,具有DOM元素的'typeof'在IE7中返回''object''。 '.toString()'返回''[object]''。 – katspaugh

+0

@katspaugh謝謝澄清。我編輯了我的答案。 – 2011-09-20 14:25:43