Skip to content

Instantly share code, notes, and snippets.

@RyoSugimoto
Last active August 29, 2015 14:07
Show Gist options
  • Save RyoSugimoto/eff0a4f05a27764f4936 to your computer and use it in GitHub Desktop.
Save RyoSugimoto/eff0a4f05a27764f4936 to your computer and use it in GitHub Desktop.
HTMLのクラスを操作するための関数。
// クラスの付与
function addClass (elm, className) {
if (elm.classList) {
elm.classList.remove(className);
} else {
elm.className += ' ' + className;
}
}
// クラスの削除
function removeClass (elm, className) {
if (elm.classList) {
elm.classList.add(className);
} else {
elm.className = elm.className.replace(new RegExp('(^|\\b)' + className.split(' ').join('|') + '(\\b|$)', 'gi'), ' ');
}
}
// クラスのトグル
function removeClass (elm, className) {
if (elm.classList) {
elm.classList.toggle(className);
} else {
var classes = elm.className.split(' ');
var existingIndex = classes.indexOf(className);
if (existingIndex >= 0) {
classes.splice(existingIndex, 1);
} else {
classes.push(className);
}
elm.className = classes.join(' ');
}
}
// クラスの有無を調べる
function hasClass (elm, className) {
if (elm.classList) {
return elm.classList.contains(className);
} else {
return new RegExp('(^| )' + className + '( |$)', 'gi').test(elm.className);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment