javascript - 用 JavaScript 替换 CSS

标签 javascript css

我对来自 PHP/MySQL 环境的客户端编程比较陌生。我了解 CSS 和 JavaScript 在浏览器环境中可以发挥的作用,但是,如果没有 JavaScript,CSS 似乎将不可逆转地停滞不前。我绝不想引起争论,但这就是我这个“新手”的情况。那么为什么不只使用 JavaScript 来设置元素属性呢?如果是这样,这是一种常见的做法吗? (我确定 CSS 快得多...)

最佳答案

一些一般要点:

CPU 成本

运行 Javascript 将样式应用于单个元素会非常慢。 Javascript 是同步的,因此它必须一次更新一种样式。另外,如其他地方所述,遍历 DOM 的计算量很大。如果您正在应用样式,则更是如此,因为您每次应用更改时都会强制浏览器重新呈现网站。

脑力消耗

尝试用 Javascript 编写和维护样式在精神上也很昂贵。它是一种函数式语言,从未打算包含布局规则。 CSS只是更容易阅读。

它们级联!

CSS 代表层叠 样式表。样式的一大好处是可以相互继承属性。请考虑以下事项:

a.nav { font-weight: bold; }

现在所有带有“nav”类的链接都是粗体。但是如果您希望进一步修改链接,您仍然可以:

li a.nav { color: red; }

现在,列表项中包含的所有 a.nav 链接都将为红色粗体。可以使用 javascript 执行此操作,但您必须强制执行此操作,并且维护会很糟糕。

如果你使用 Javascript 作为样式,你的同事会打死你!

我觉得这一种不言自明

关于javascript - 用 JavaScript 替换 CSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2065450/

相关文章:

javascript - 使用 JS 或 JQuery,使用 jQuery 的 listselect.js 将选择中的所有内容从一个列表移动到 "selected"

javascript - 带有 Auth0 提供程序的 Nuxt Auth 模块导致重定向循环

javascript - 如何在 Wordpress 中通过 JavaScript(不是 jQuery)删除一个类

css - 改变div的背景颜色

html - 在 div 中的 img 旁边显示文本

JavaScript/InDesign : Check if Object has certain property

javascript - 从数组中返回具有相同键和值的对象

html - Word-wrap 不适用于 chrome 中 fieldset 内的 div

html - CSS - 使图像变暗,矩形覆盖除外

html - Firefox 向右浮动行为