首页 > 解决方案 > 基于显示的条件CSS?

问题描述

是否可以根据JavaScript 中的显示属性(例如display: block, )有条件地将类添加到元素?display: none

我猜它看起来像这样:

.addClass($invoiceTable.display=block ? "firstClass" : "secondClass");

如果 invoiceTable 具有 style="display: block",则添加 firstClass,否则添加 secondClass。

标签: javascript

解决方案


实现这一点的一种方法是将该元素的样式属性存储到一个变量中,并检查是显示还是阻止,并在此基础上添加类。

像这样的东西:

const display =  document.getElementById("invoiceTable").style.display; // Inline style

或者,如果显示属性是继承属性:

  const display =   window.getComputedStyle(document.getElementById("invoiceTable"), null).display;

然后根据显示添加您的类:

display === 'block' ? element.classList.add("block") : element.classList.add("other");

推荐阅读