【发布时间】:2020-09-08 11:50:39
【问题描述】:
现在是 2020 年,我的目标只是 chrome。我只想在 chrome 上检查它,所以这不是同一个问题。我的最终目标是避免无限观察循环。这是我的代码:
.bg-gray-light {
background-color: #fafbfc!important;
}
var e=document.querySelector('div.pagehead.bg-gray-light');
var z= e.style.getPropertyPriority('background-color'); // here is ''
var t=getComputedStyle(e).getPropertyPriority('background-color'); //here is '' too.
那么如何判断 background-color 是否为 '!important'。
仅供参考,我想观察样式变化然后更改样式,但如果它很重要,我需要通过 e.style.setProperty() 强制更改。 为了避免无限观察循环,我不能只是尝试改变风格。 所以我需要知道背景颜色是否是'!重要'。
【问题讨论】:
-
这是否回答了您的问题,它包括除 getPropertyPriority 之外的完整功能吗? Check if css property has !important attribute applied
-
我看了,但是我的目标是chrome,有没有更简单的解决方案?
-
如果您手动设置
#fafbfd而不是#fafbfc,我怀疑有人会注意到,但您可以轻松检测JS中的差异以防止无限循环。 -
@dandavis,因为修改失败,所以死循环,所以需要在js代码修改样式前检查一下。
标签: javascript css google-chrome dom cssom