Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我如何使用javascript来检查css属性是否有错误!铬的重要性?_Javascript_Css_Google Chrome_Dom_Cssom - Fatal编程技术网

我如何使用javascript来检查css属性是否有错误!铬的重要性?

我如何使用javascript来检查css属性是否有错误!铬的重要性?,javascript,css,google-chrome,dom,cssom,Javascript,Css,Google Chrome,Dom,Cssom,现在是2020年,我的目标是chrome。我只想在chrome上检查,所以这不是同一个问题。我的最终目标是避免一个无限的观察循环。这是我的代码: .bg灰色灯光{ 背景色:#fafbfc!重要; } var e=document.querySelector('div.pagehead.bg灰灯'); var z=e.style.getPropertyPriority('background-color');//这里是“ var t=getComputedStyle(e).getProperty

现在是2020年,我的目标是chrome。我只想在chrome上检查,所以这不是同一个问题。我的最终目标是避免一个无限的观察循环。这是我的代码:

.bg灰色灯光{
背景色:#fafbfc!重要;
}
var e=document.querySelector('div.pagehead.bg灰灯');
var z=e.style.getPropertyPriority('background-color');//这里是“
var t=getComputedStyle(e).getPropertyPriority('background-color')//这里也是。
那么,我如何判断背景色是否为“!“重要”

仅供参考,我想观察样式的变化,然后再改变样式,但如果是这样的话!重要信息,我需要通过e.style.setProperty()强制进行更改。 为了避免无限的观察循环,我不能仅仅尝试改变样式。
所以我需要知道背景色是否为“!“重要”

我担心getPropertyPriority方法只适用于样式表规则。 浏览器呈现dom后,很难找到哪个规则更改了特定元素。dom中的元素和css规则之间的联系消失了(在我看来)


请参阅:

恐怕getPropertyPriority方法仅适用于样式表规则。 浏览器呈现dom后,很难找到哪个规则更改了特定元素。dom中的元素和css规则之间的联系消失了(在我看来)


请看:

谢谢@dandavis,我已经改变主意了。我放弃了检查'!重要的是,我只是尝试改变风格,但避免无限观察,如下所示:

observer.disconnect();
e、 style.setProperty(
财产,,
rgbstring,
优先级,/“重要”或“重要”
);
登记处(观察员、文件);
以上代码不足以避免无穷大的观察者,所以我们需要确定需要设置的值,尤其是不要反复更改它


谢谢@dandavis

谢谢@dandavis,我改变主意了。我放弃了检查'!重要的是,我只是尝试改变风格,但避免无限观察,如下所示:

observer.disconnect();
e、 style.setProperty(
财产,,
rgbstring,
优先级,/“重要”或“重要”
);
登记处(观察员、文件);
以上代码不足以避免无穷大的观察者,所以我们需要确定需要设置的值,尤其是不要反复更改它


谢谢@dandavis

这是否回答了您的问题,除了getPropertyPriority之外,它还包括一个完整的函数?我已经读过了,但我的目标是chrome,那么还有更简单的解决方案吗?我怀疑是否有人会注意到,如果您手动设置
\fafbfd
而不是
\fafbfc
,但是您可以很容易地检测到JS中的差异以防止无限循环。@dandavis,仅仅因为更改失败,所以无限循环,所以我需要在js代码更改样式之前检查它。这是否回答了您的问题,除了getPropertyPriority之外,它还包括一个完整的函数?我已经读过了,但我的目标是chrome,那么还有更简单的解决方案吗?我怀疑是否有人会注意到,如果您手动设置
\fafbfd
而不是
\fafbfc
,但是您可以很容易地检测到JS中的差异以防止无限循环。@dandavis,仅仅因为更改失败,所以无限循环,所以我需要在js代码更改样式之前检查它。它只适用于元素上内联设置的样式,而不适用于我的代码,即css类定义的样式。我错了,你的代码得到了所有的“背景色”?我怎样才能得到一个特殊元素的样式优先级?你能解释一下优先级是哪个元素吗?因为我只得到一个空字符串“”,它只适用于元素上内联设置的样式,而不适用于我的代码,即css类定义的样式。我错了,你的代码得到了所有的“背景色”?我怎样才能得到一个特殊元素的样式优先级?你能解释一下优先级是哪个元素吗?因为我刚得到一个空字符串“”
var declaration = document.styleSheets[0].cssRules[0].style;
var priority = declaration.getPropertyPriority("background-color");