classList如何工作?

时间:2018-07-12 14:22:46

标签: javascript dom

我一直在尝试按照此处的文档所述使用classList:

https://developer.mozilla.org/en-US/docs/Web/API/Element/classList

但是,我一直在浏览器中收到错误消息,说未定义“包含”或“添加”。我不明白为什么。

我用过:

for (i = 0; i < card.length; i++) {
        card[i].addEventListener('click', function () {
            this.classList.toggle('open');
            this.classList.toggle('show');
        });  

并且classList很好用!!但是,当我写的时候:

 let flipped = document.classList.contains('open');

我收到错误“ contains”未定义。

如果有人可以向我解释classList的这些用法有何不同,我将非常感激!

侧面说明:我正在使用纯JavaScript并在chrome中进行故障排除

1 个答案:

答案 0 :(得分:1)

您有此错误,因为 classList Element 中的对象,而不是 document

Fox示例:

var flipped = document.classList; //undefined
console.log(flipped); //undefined

然后,如果您尝试使用flipped.contains,则会收到错误消息,因为flippedundefined