예 HTML과 DIV에 클래스를 추가자바 스크립트
가 어떻게 class_one
를 교체하지 않고 클래스 class_two
을 추가 할 수 있습니다
<div id="foo" class="class_one"></div>
?
최종 결과 :
<div id="foo" class="class_one class_two"></div>
예 HTML과 DIV에 클래스를 추가자바 스크립트
가 어떻게 class_one
를 교체하지 않고 클래스 class_two
을 추가 할 수 있습니다
<div id="foo" class="class_one"></div>
?
최종 결과 :
<div id="foo" class="class_one class_two"></div>
표준 자바 스크립트 :
document.getElementById('foo').className += ' class_two'
또는 JQuery와 :
$('#foo').addClass('class_two');
당신은 jQuery를 사용할 수 있습니다.
$('#YourElement').addClass('YourClass'); //add
$('#YourElement').removeClass('YourClass'); //remove
$('#YourElement').toggleClass('YourClass'); //toggle
또는 자바 스크립트, 원하는 경우.
document.getElementById('id').classList.add('YourClass'); //add
document.getElementById('id').classList.remove('YourClass'); //remove
그게 아주 깔끔하고, 나는 그것을 본 적이 한번도 없다, 클래스는 새로운 API를 나열합니까?/구형 브라우저와 호환됩니까? –
나는 모든 브라우저에서 그것들을 검사하지는 않았지만 그들은 주요 (최신) 브라우저에서 작업 할 수있다. – Lion
classList는 대부분의 최신 브라우저 monhttp : //caniuse.com/#feat=classlist에서 사용할 수 있습니다. –
당신은 헬퍼 함수의 부부와 함께 인생을 더 쉽게 만들 수 있습니다
function addClass(el, className) {
var classes = el.className.match(/\S+/g) || [];
if (!hasClass(el, className)) {
classes.push(className);
}
el.className = classes.join(' ');
}
function hasClass(el, className) {
var re = new RegExp('(^|\\s+)' + className + '(\\s+|$)');
return re.test(el.className);
}
addClass(document.getElementById('foo'), 'bar')
확인 this을 클래스를 추가 :
document.getElementById('foo').classList.add("class_two");
나는 이것이 더 나은 솔루션입니다 생각합니다.
완벽합니다. 감사합니다. – jared