javascript - 通过 CSS 类或直接(通过 DOM)修改 HTML 元素显示的更好做法?

标签 javascript html css dom

<分区>


想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它.

关闭 8 年前

我在标记和样式方面有些经验,但我是前端脚本的新手。

有人可以澄清哪种做法更好(或最佳)吗:

是直接通过 DOM 修改 HTML 元素显示/行为更好,还是通过分配和删除 CSS 类来实现?

我自己的看法是,使用 javascript 附加或删除 CSS 类可能是改变元素显示和/或行为的更优雅的方式,但我希望在继续之前确认这一点。

有人可以进一步评论吗?

最佳答案

这是一个非常通用的指南:

使用类来定义一些样式(或者甚至只是一种样式),如果它确实意味着某些东西的话。例如,如果您希望 JavaScript 将某个元素指定为选定项,请使用 .selected-item 类并将其设置在元素上。这使您可以在 CSS 文件中进行设计工作。

但是,如果您正在进行一次性修改,尤其是那些涉及计算的修改,例如设置一个元素相对于另一个元素的高度...那么您应该修改 element.style 对象具有这些特定属性。

总结:如果类有意义,就使用它。一次性的就直接修改属性。

事实上,这也适用于基本 HTML。您可以轻松地定义一个类 .center {text-align:center} 并将其应用于居中对齐的元素,因为这不是一次性的。但是,如果您需要特定元素具有一些额外的底部边距,请使用 style="margin-bottom:20px" 而不是为此定义一个类。

关于javascript - 通过 CSS 类或直接(通过 DOM)修改 HTML 元素显示的更好做法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28301356/

上一篇:html - 使用嵌套容器创建响应式 CSS 布局

下一篇:CSS 字体不接受 'format' 语法

相关文章:

javascript - 无法制作隐藏/可见的错误消息

javascript - IE 10拖放上传给出空dataTransfer

javascript - AngularJS 中的 DRY

javascript - 从 jQuery 函数中检索多个值

node.js - 如何在通过multer上传视频的html视频标签中播放mp4视频

html - 如何使我的下拉列表的边框半径为 :hover?

css - 当元素到达底部边缘时设置不透明度

javascript - 我可以使用 CDN 中的 ES Modules 库吗?

html - Bootstrap 3 输入、下拉列表、输入组中的按钮

javascript - jQuery 拖动/调整大小与 CSS 变换比例