首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何解析‘未捕获的DOMException:无法在DOMTokenList上执行添加:

如何解析‘未捕获的DOMException:无法在DOMTokenList上执行添加:
EN

Stack Overflow用户
提问于 2021-04-17 23:14:52
回答 1查看 964关注 0票数 0

我想创建媒体图标

代码语言:javascript
复制
    <div class="contact">
     <span>
      <i class="fa fa-phone"></i>
    </span>
    <span>
     <i class="fa fa-facebook"></i>
    </span>
    <span>
     <i class="fa fa-twitter"></i>
   </span>
   <span>
     <i class="fa fa-instagram"></i>
   </span>
   <span>
     <i class="fa fa-envelope"></i>
   </span>
   </div>

使用上面的代码可以很好地工作,使用JavaScript函数也可以完成同样的工作,但我得到了错误消息

**index.js:36未捕获DOMException:无法对“”DOMTokenList“”执行“”add“”:提供的标记(“”fa-facebook“”)包含HTML空格字符,这些字符在标记中无效。“”**

代码语言:javascript
复制
let socail = (cls,href) => {
    let sp =document.createElement('span');
    let i = document.createElement('i');
    let a = document.createElement('a');
    sp.prepend(i);
    i.prepend(a);
    i.classList.add(cls);
    a.setAttribute('href', href )
    navImg.insertAdjacentElement('beforeBegin', sp);
};
socail('fa fa-facebook', 'facebook.com');

我需要你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2021-04-18 00:42:29

类名不能包含空格。空格分隔多个类名。

您可以做的一件事是维护需要作为数组添加的多个类

代码语言:javascript
复制
const classesToAdd =['fa','fa-facebook']
socail(classesToAdd, 'facebook.com');

并遍历数组项并添加它们

代码语言:javascript
复制
sp.prepend(i);
i.prepend(a);
cls.forEach((ele) => {
    i.classList.add(...cls)
})

输出:

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

https://stackoverflow.com/questions/67139718

复制
相关文章

相似问题

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