我可以在this.classList.remove中使用变量吗?

时间:2018-05-13 06:54:41

标签: javascript html5

我尝试在我的javascript程序中使用此代码:

this.classList.remove(RF.DangerClass);

RF.DangerClass是全局变量。 但我得到错误 -

  

InvalidCharacterError:String包含无效字符

怎么了?我不能在这个陈述中使用变量吗?

RF.DangerClass包含此字符串: uk-form-danger uk-animation-shake

如果需要删除两个类,我该怎么办?

1 个答案:

答案 0 :(得分:1)

如果给定的类名可能包含无效字符(例如空格),则在调用remove之前首先检查类名是否存在。如果指定的类名具有无效字符,remove函数可能会失败。

var classNames = ['invalid class', 'other-class']

classNames.forEach(function(name) {
    if (this.classList.contains(name)) {
        this.classList.remove(name)
    }
})

如果已知类名有效,您可以删除多个项目:

this.classList.remove('class1', 'class2')