首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用函数和classList添加多个css选择器

使用函数和classList添加多个css选择器
EN

Stack Overflow用户
提问于 2020-10-14 14:04:38
回答 2查看 205关注 0票数 0

我尝试使用函数内部的classList向一个元素添加多个css选择器,但一直收到下面的错误。我该怎么做才是对的呢?

代码语言:javascript
复制
Uncaught DOMException: Failed to execute 'add' on 'DOMTokenList': 
The token provided ('padding fonts') contains HTML space characters, which are not valid in tokens.

https://jsfiddle.net/nordy/h84gadst/1/

代码语言:javascript
复制
function addStyle(element,styleName) {
    element.classList.add(styleName);
}

var targetElement = document.getElementById("parent-container");

var addStyleElement = document.getElementById("addStyle");

addStyleElement.onclick = function() {
    addStyle(targetElement,'padding fonts');
}
EN

回答 2

Stack Overflow用户

发布于 2020-10-14 14:09:07

主要的问题是类不能包含空格,您可以添加多个用逗号分隔的类,如下所示:

代码语言:javascript
复制
element.classList.add('padding','fonts');

EDIT:如果你想在同一个字符串中发送多个类,你可以在下面的方法中实现:

代码语言:javascript
复制
function addStyle(element,styleName) {
    styleName.split(" ").forEach(class => element.classList.add(class));
}
票数 2
EN

Stack Overflow用户

发布于 2020-10-14 14:14:06

如果你这样做,它应该可以工作,空间是问题所在。

代码语言:javascript
复制
addStyleElement.onclick = function() {
addStyle(targetElement,'padding');
addStyle(targetElement,'fonts');

}

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64347504

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档