<html>
Javascript를 사용하여 루트 요소에 클래스를 어떻게 추가 합니까?
답변
이렇게 :
var root = document.getElementsByTagName( 'html' )[0]; // '0' to assign the first (and only `HTML` tag)
root.setAttribute( 'class', 'myCssClass' );
또는 이전에 적용된 클래스를 보존하기 위해 이것을 ‘세터’라인으로 사용하십시오 : (@ ama2에게 감사드립니다)
root.className += ' myCssClass';
또는 필요한 브라우저 지원에 따라 다음 classList.add()
방법을 사용할 수 있습니다 .
root.classList.add('myCssClass');
https://developer.mozilla.org/en-US/docs/Web/API/Element/classList
http://caniuse.com/#feat=classlist
최신 정보:
HTML
요소 참조를위한보다 우아한 솔루션 은 다음과 같습니다.
var root = document.documentElement;
root.className += ' myCssClass';
// ... or:
// root.classList.add('myCssClass');
//
답변
이것은 또한 작동합니다.
document.documentElement.className = 'myClass';
호환성 .
편집하다:
IE 10은 읽기 전용이라고 간주합니다. 아직:
오페라 작품 :
다음에서 작동하는지 확인할 수도 있습니다.
- 크롬 26
- Firefox 19.02
- Safari 5.1.7
답변
답변
document.documentElement.classList.add('myCssClass');
classList
ie10부터 지원됩니다 : https://caniuse.com/#search=classlist
답변
덮어 쓰지 말고 클래스를 추가해야합니다.
var headCSS = document.getElementsByTagName("html")[0].getAttribute("class") || "";
document.getElementsByTagName("html")[0].setAttribute("class",headCSS +"foo");
브라우저 비 호환성을 피하기 위해 jQuery를 사용하는 것이 좋습니다.
답변
Jquery로 … 다음과 같이 html 요소에 클래스를 추가 할 수 있습니다.
$(".divclass").find("p,h1,h2,h3,figure,span,a").addClass('nameclassorid');
nameclassorid 포인트가 없거나 시작 부분에 #