Кросс-браузерное решение для проверки, является ли объект Javascript элементом HTML - PullRequest
3 голосов
/ 21 апреля 2011

Следующий код работает в FF, но не в IE8:

var j = "test";
alert(j instanceof HTMLElement);

Я не думаю, что IE использует объект HTMLElement.Есть ли безопасный способ сделать эту проверку в IE?Возможно, есть решение YUI?

Ответы [ 2 ]

9 голосов
/ 21 апреля 2011

Я использую для проверки свойства nodeType, оно должно быть 1 для всех объектов HTML-элементов.

Я использовал его в своей кросс-браузерной библиотеке до того, как переключился на jQuery.из 3 и любые пользовательские объекты, вероятно, вообще не будут иметь свойства nodeType.

2 голосов
/ 21 апреля 2011

Если вы посмотрите на исходный код jQuery (а не на минимизированный ffs!), Вы увидите, что они много используют nodeType.

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