例HTML一個DIV:類添加使用JavaScript
<div id="foo" class="class_one"></div>
我怎樣才能添加類class_two
無需更換class_one
?
最終結果是:
<div id="foo" class="class_one class_two"></div>
例HTML一個DIV:類添加使用JavaScript
<div id="foo" class="class_one"></div>
我怎樣才能添加類class_two
無需更換class_one
?
最終結果是:
<div id="foo" class="class_one class_two"></div>
標準的JavaScript:
document.getElementById('foo').className += ' class_two'
或JQuery的:
$('#foo').addClass('class_two');
您可以使用jQuery的。
$('#YourElement').addClass('YourClass'); //add
$('#YourElement').removeClass('YourClass'); //remove
$('#YourElement').toggleClass('YourClass'); //toggle
或JavaScript,如果你想。
document.getElementById('id').classList.add('YourClass'); //add
document.getElementById('id').classList.remove('YourClass'); //remove
這是相當整潔,我從來沒有見過它,是classList一個新的API? /與舊版瀏覽器兼容? – 2012-07-12 03:46:26
我沒有在所有瀏覽器上檢查過它們,但它們可以在主要(最新)瀏覽器上運行。 – Lion 2012-07-12 03:49:32
classList可在大多數現代瀏覽器上使用monhttp://caniuse.com/#feat=classlist – 2016-04-06 19:34:19
可以使生活更輕鬆與一對夫婦的輔助功能:
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')
完美,謝謝隊友。 – jared 2012-07-12 04:27:07