Доступ к узлу

#javascript

#javascript

Вопрос:

Я хотел бы добавить класс к <html> элементу и запустить код для него в <head> элементе. Каков наилучший способ сделать это?

document.getElementsByTagName('html')[0].className = 'class';

или

document.documentElement.className = 'class';

Комментарии:

1. Будьте очень осторожны при выполнении этого, особенно в антивирусе. Проведите тестирование во всех поддерживаемых браузерах, потому что некоторые считают html элемент каким-то особенным.

2. Зачем вам нужно добавлять класс в <html> вместо <body> ?

3. @Teneff, чтобы на странице было меньше элементов.

4. document.body.parentNode

Ответ №1:

Ни один из способов на самом деле не «лучше», но documentElement немного быстрее, потому что ему не нужно запускать функцию сопоставления, так что действуйте по нему.

Комментарии:

1. document.body.parentNode

Ответ №2:

Modernizr, похоже, использует document.documentElement (если посмотреть на исходный код).

Я думаю, это хорошая ссылка 🙂

Комментарии:

1. Typekit использует document.getElementsByTagName , также хорошую ссылку ; )