在我的示例中,我有一个 id 为“foo1Closed”的 div。当我单击“foo1Closed”时,我希望在 div 中更改许多元素(例如高度、宽度、颜色、可见性等)。
我实现此目的的一种方法是为 .css 文件中的每个元素编写两种样式。例如,一种样式用于“foo1Closed”,另一种样式用于“foo1Opened”。喜欢:
#foo1Closed {
visibility:hidden;
}
#foo1Opened {
visibility:visible;
}
然后我使用 JavaScript 函数来更改这些 ID,例如:
document.getElementById("foo1Opened").id = "foo1Closed";
由于我不知道这种方法的潜在缺点,我希望有人能回答这是实现这种交互性的“好的”方式,或者我是否应该直接通过 JavaScript 修改样式,如下所示:
document.getElementById("foo1Opened").style.visibility = "hidden";
显然,一种解决方案将拥有更多 CSS 代码,而另一种解决方案将拥有更多 JavaScript 代码。我不知道的是哪个更有效(就性能和/或项目建模而言)。
重新措辞的问题:由于 ID 用于标识特定对象(这意味着它们通常不应更改),是否有不同的方法可以在不编辑 ID 且不依赖于通过 JavaScript 手动更改每个元素的情况下完成此操作?