«HTMLElement» не определен в IE8, альтернатива? - PullRequest
1 голос
/ 15 января 2012

Привет всем, у меня есть такие методы:

// Has Class
HTMLElement.prototype.hasClass = function (searchClass) {
    return this.className.match(new RegExp('(\\s|^)' + searchClass + '(\\s|$)'));
}

В IE9 работает нормально. В IE8 это дает мне неопределенное ... есть ли простой способ обойти?

1 Ответ

2 голосов
/ 15 января 2012

Вы не можете добавить методы к HTMLElement.prototype в более старых версиях IE, если я правильно помню. Простой обходной путь будет:

var hasClass = function (el, searchClass) {
    return el.className.test(new RegExp('(\\s|^)' + searchClass + '(\\s|$)'));
};

И используется как:

alert(    hasClass(   document.getElementById('div1'), 'classToCheck'   )    )

DEMO

Вы всегда можете добавить это к объекту Object.prototype, но он недоволен

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