如何使用HTMLElement.classList(.toggle)?

时间:2010-12-17 18:19:12

标签: javascript css class html5

我已经制作了一个网页(woohoo)来测试一些CSS3过渡(再次woohoo)的事情。转换工作得很好(最后哇哇)。然而,新的HTMLElement.classList对另一个元素做了一些奇怪的事情。

网页:http://hotblocks.nl/tests/css/transitions.html

它的作用: 在body元素上切换类b

它是如何做到的: 令人难以置信的简单:document.body.classList.toggle('b');

它有效!但!身体的第一个孩子不知何故被改变了。在切换之前,第一个孩子的班级是slow,然后被改为object(通过切换???)。

为什么这样做?我没有正确使用切换功能吗?切换功能是否与我期望的不同?没有仔细阅读文档/规范,但它(.classList)变得简单了吧?

1 个答案:

答案 0 :(得分:3)

问题不在toggle函数中,而是在页面末尾的脚本标记中初始化按钮标记的事件处理程序。

该脚本在文档中为所有button标记添加一个事件处理程序,以便单击按钮可将按钮的父元素中第一个div的类设置为{{ 1}}加上按钮的类名。

您可能只打算将此事件处理程序添加到来回按钮,但它也会添加到bgcolor按钮,导致它在单击按钮时更改object div的类名。 / p>