[英]How can I know if an element has a specific class with JavaScript?
I have a div
with three button
elements inside it and I want to make a JavaScript function so that if I press the first button in my div
, it gets added a class called "active", and if either my second or third element had it previously, it gets removed.我有一个里面有三个
button
元素的div
,我想创建一个 JavaScript 函数,这样如果我按下div
的第一个按钮,它就会添加一个名为“active”的类,如果我的第二个或第三个元素有它以前,它会被删除。
<div> <button>option 1<button/> <button>option 2<button/> <button>option 3<button/> <div>
var System = {
buttonNode: {
init: function(containerID){
try{
var container = e(containerID);
var els = container.querySelectorAll(".oneActive");
for(var i = 0; i < els.length; i++){
var cur = els[i];
cur.onclick = function(){ System.buttonNode.toggle(this); };
}
}catch(err){
alert(err.stack);
}
},
toggle: function(el){
try{
if(hasClass(el,"active")){
el.classList.remove("active");
}else{
el.classList.add("active");
}
}catch(err){
alert(err.stack);
}
}
},
e: function(id){
return(document.getElementById(id));
}
};
function hasClass(element, className) { //from https://stackoverflow.com/questions/5898656/check-if-an-element-contains-a-class-in-javascript
return (' ' + element.className + ' ').indexOf(' ' + className+ ' ') > -1;
}
System.buttonNode.init("id-of-your-div-full-of-buttons");
You could probably use this.你可能会用这个。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.