Javascript 替换类名
我在我的网站上插入了一个禁用的按钮,我希望在单击另一个启用的按钮时将其启用。我已经为它编写了代码 代码(具体化CSS)Javascript 替换类名,javascript,html,css,Javascript,Html,Css,我在我的网站上插入了一个禁用的按钮,我希望在单击另一个启用的按钮时将其启用。我已经为它编写了代码 代码(具体化CSS) var btn=document.getElementById(“btn”) btn.addEventListener(“单击”,函数(){ document.getElementById(“btnn”).classList.replace(“btn已禁用”), “波浪效应波浪光btn”); }) 您的代码抛出了一个错误,因为classList.replace方法不
var btn=document.getElementById(“btn”)
btn.addEventListener(“单击”,函数(){
document.getElementById(“btnn”).classList.replace(“btn已禁用”),
“波浪效应波浪光btn”);
})
您的代码抛出了一个错误,因为classList.replace
方法不能包含多个类(实际上是空格)。要解决您的问题,您必须调用classList。删除和classList。添加方法
您更新的JS:
var btn = document.getElementById("btn")
btn.addEventListener("click", function(){
// Check if element contains disabled class
if (btn.classList.contains("disabled")) {
// Removes disabled class
btn.classList.remove("disabled");
// Adds waves-effect and waves-light classes
btn.classList.add("waves-effect", "waves-light");
}
});
.replace()
只能用于将一个类替换为另一个类,不能给它多个类。如果要替换多个类,请使用.remove()
和.add()
HTML中的id
属性中还有额外的空格id=“btnn”
应该是id=“btn”
。这导致document.getElementById()
失败
var btn=document.getElementById(“btn”);
btn.addEventListener(“单击”,函数(){
document.getElementById(“btnn”).classList.remove(“禁用”);
document.getElementById(“btnn”).classList.add(“波浪效果”、“波浪光”);
})
。已禁用{
颜色:灰色;
}
.波浪效应{
颜色:黄色;
}
.波光{
背景颜色:蓝色;
}
跳过广告
按钮
替换为空格时,只能在字符串上发生 你应该更新你的HTML,它不可读,缺少几个结束标记。。。
var btn = document.getElementById("btnn");
btn.className =
btn.className.replace("btn disabled",
"waves-effect waves-light btn");