javascript - 使用 CSS 类作为编程逻辑的一部分来实现业务规则是否不好?

标签 javascript html css

<分区>

我在页面上有多个用户可以选择的 DIV 元素,我在我的 JavaScript 代码中实现的是,当一个元素被选中时,我向它添加了一个 CSS 类来标记它它是一个选定的元素,稍后将使用它来围绕它应用业务规则逻辑。

这只是一个例子,但总的来说,我想知道我是否应该以这种方式使用这个类,因为这个类本身不会以任何方式改变页面的呈现,以及 CSS 类的意图是为了演示目的。这样做是不是混合了表示和业务逻辑的情况,这被认为不是一个好的设计模式?

此外,它可能会触发浏览器在添加类时执行一些表示处理开销,并可能减慢速度。

我想知道我是否应该改为将状态信息作为自定义属性添加到 DOM 元素?

最佳答案

一般来说这样做并没有错。像 jQuery 这样的框架是围绕类属性的使用而构建的。

然而,从 HTML5 开始,对于大多数情况有更优雅的解决方案,即所谓的数据属性。

这允许您将任意属性添加到您的 HTML 标记,如果您在它前面加上 data-

一个例子是:

<div data-value="3">Amount: $3.00</div>

关于javascript - 使用 CSS 类作为编程逻辑的一部分来实现业务规则是否不好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18564677/

相关文章:

javascript - 页面加载时推特框的 jQuery CSS 高度

javascript - jquery 不能在手机上工作

javascript - CSS:绝对位置改变div宽度

javascript - 如何在输入标签内留出空间

css - IE6 - 元素弹出和弹出

c# - 如何从 mvc3 模型的序列化 json 中获取backbone.js 模型?

javascript - 断言一组 JSON 包含一个属性

javascript - 使用 Node (nodemailer)显示嵌入图片

javascript - 带 anchor 的复选框

php - 我希望能够在每次单击随机播放按钮时随机播放问题