【发布时间】:2021-08-24 17:14:23
【问题描述】:
是否可以在 JavaScript 中根据元素的显示属性(例如display: block、display: none)有条件地向元素添加一个类?
我猜它看起来像这样:
.addClass($invoiceTable.display=block ? "firstClass" : "secondClass");
如果 invoiceTable 的 style="display: block" 则添加 firstClass,否则添加 secondClass。
【问题讨论】:
-
$invoiceTable.display=block这不是比较。所以看显示属性还是getComputedStyle -
你可以使用 == "block"
-
另外,您正在检查
style属性,因此假设$invoiceTable是HTMLElement,$invoiceTable.style.display === 'block'。 -
这似乎是一种倒退的方式。通常样式来自类,而不是相反。
-
元素的
style属性仅包含其内联样式,不包含从 CSS 继承的样式。使用getComputedStyle()获取其实际样式。
标签: javascript