Определение, является ли аргумент типом элемента HTML Javascript - PullRequest
0 голосов
/ 01 февраля 2010

Мне нужен метод XB (Cross Browser) для определения, является ли аргумент элементом HTML.

Использование следующего кода дает разные результаты в разных браузерах:

Object.prototype.toString.call(element);
// returns in FF "[object HTMLDivElement]";
// returns in IE "[object Object]";

Другой метод, который я нашел, был:

if(element.nodeType)  // true for a HTML Element;

Кто-нибудь знает проверенное решение XB?

1 Ответ

1 голос
/ 01 февраля 2010

Вы хотите это:

if (element.nodeType === element.ELEMENT_NODE)
// Element.prototype.ELEMENT_NODE === 1

if (element.nodeType) почти всегда верно. Например, nodeType комментария равен 8, поэтому он будет обнаружен как элемент с вашим кодом, даже если это не так.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...