Создайте замену classList для браузеров, которые еще не реализовали его - PullRequest
0 голосов
/ 29 апреля 2011

Здесь есть вопрос, похожий на этот:
Создайте свой собственный объект classList, когда браузер не реализует его сам
Проблема в том, что ответ работает в некоторых браузерах, но не работает в IE7 и в flock (по крайней мере).
Поэтому я хотел бы иметь альтернативу, которая работает с этими браузерами.
То, что я хочу, это просто, но я считаю, что это не просто реализовать.
Я хочу иметь возможность применять этот код к любой сборке браузера с момента сборки IE7 или FF 3.0:

var select = document.createElement('select');
select.classList.add('guestSelect');

Как мне это сделать?
Обратите внимание, что я не хочу использовать какие-либо фреймворки или библиотеки. Я хочу быть тем, кто напишет код!
Я бы хотел сделать это специально, потому что я хочу научиться выполнять подобные вещи.

1 Ответ

0 голосов
/ 12 апреля 2012

Возможно, вам больше не нужен этот ответ, но другие все еще могут его искать.

Поскольку IE7 не реализует класс Element, вы не можете расширить его прототип. Лучшее, что вы можете сделать, - это создать собственный класс элементов, который обернет элементы DOM, и использовать его везде. Кстати, именно это и делает большинство фреймворков.

Имейте в виду, это может кардинально изменить код, который вы уже написали. Вот почему лучше (проще?) Полагаться на глобальные функции, такие как addClass(element, "foo");.

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