javascript - 根据 JavaScript 中的值设置 CSS 样式
问题描述
我正在尝试根据 HTML 元素的值设置 CSS 样式,我该怎么做?
.JSP 文件:
<div style="margin-left:-14%;margin-top:-2.4%" >
**<bean:write name="messageFormBean" property="messageVO.messageFormat"/>**
</div>
现在我已将样式设置为margin-left: -14%;
,但如果突出显示的语句(粗体)的值为“A”,则样式应为margin-left:-14%;
,如果为“B”,则应为margin-left:-3%;
。
我将如何使用条件运算符并相应地设置样式?
解决方案
data
您可以在元素上添加一个属性,而不是使用 JS,您还可以在div
其中打印值,例如
<div data-letter="<bean:write ... />"> <!-- or whatever it takes to print the same value here -->
<bean:write name="messageFormBean" property="messageVO.messageFormat"/>
</div>
并使用所有必要的 CSS属性选择器来设置您需要的所有属性
[data-letter="A"] { margin: -2.4% 0 0 -14% }
[data-letter="B"] { margin: -2.4% 0 0 -3% }
...
[data-letter="Z"] { margin: ... }
这种方法的好处:没有不必要的 JS 使用,没有 CSS-in-JS 和内联样式。
推荐阅读
- python - 以db(分贝)计算图像的信噪比
- c++ - 验证双精度值输入
- performance - 如何匹配/减少部署到 Pod 中的应用程序与实例上的应用程序所花费的时间
- android - 如何免费为您的应用设置 app-ads.txt
- .htaccess - 尽管正在访问文件,但 .htaccess 重写不起作用
- php - 使用有 TLS 证书的 PHP 连接到 PostgreSql
- coding-style - 如何避免在循环内重复检查相同的条件?
- amazon-web-services - 是否可以使用 Elastic Beanstalk 创建启用了 Elastic Inference 的 EC2?
- typescript - TypeScript 泛型类型交集不满足自身
- vue.js - Quasar with Asp.NET Core WebApi IIS 发布 403 错误