示例 HTML:
<div id="foo" class="class_one"></div>
如何在class_two
不替换的情况下添加类class_one
?
最终结果:
<div id="foo" class="class_one class_two"></div>
示例 HTML:
<div id="foo" class="class_one"></div>
如何在class_two
不替换的情况下添加类class_one
?
最终结果:
<div id="foo" class="class_one class_two"></div>
如果您只需要支持新的浏览器,请参阅下面的 deekshith 的回答
标准的javascript:
document.getElementById('foo').className += ' class_two'
或 JQuery:
$('#foo').addClass('class_two');
You may use jQuery.
$('#YourElement').addClass('YourClass'); //add
$('#YourElement').removeClass('YourClass'); //remove
$('#YourElement').toggleClass('YourClass'); //toggle
Or Javascript, if you wish.
document.getElementById('id').classList.add('YourClass'); //add
document.getElementById('id').classList.remove('YourClass'); //remove
添加类的更好方法是使用Element.classList.add():
document.getElementById('foo').classList.add("class_two");
您可以使用几个辅助函数让生活更轻松:
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')