javascript - 是否可以检测元素的样式只是浏览器默认样式还是由样式表或内联样式设置?

标签 javascript css web-applications

我的 javascript 包含在 X 的站点中,但我对她的站点或她包含它的位置没有任何其他控制权。如果她的风格#element ,我不想管它,但如果她没有,我有一个样式表,我将在 <head> 中注入(inject).有没有办法检测她是否设计了样式?

检查它的高度是 0 还是 1 失败,因为它有一些内容并且浏览器做出默认决定。

javascript/jquery/其他框架告诉样式的 CSS 特性的任何方式都可以回答这个问题并且令人难以置信。

最佳答案

对于内联样式,这很简单:您只需访问 element.style 对象并检查您想要的属性——或使用 element.hasAttribute('style') 检查属性是否在 HTML 中定义。

对于样式表应用的 CSS 规则,我建议您看一下“Is it possible to check if certain CSS properties are defined inside the style tag with Javascript?”,它与您所问的非常相似。

使用那里描述的方法,也很容易过滤掉只有 #element 选择器的规则,如果你想过滤掉任何通用规则(比如标签规则)。

关于javascript - 是否可以检测元素的样式只是浏览器默认样式还是由样式表或内联样式设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15891280/

相关文章:

javascript - 如何用JavaScript打开动态生成&lt;input ="file"/> HTML

java - 将 webapp 暴露到网络上?

java - AudioSystem 可以从 Java EE Web 应用程序访问吗?

javascript - 有没有办法让屏幕阅读器在渲染元素时只宣布一次?

javascript - 如何求最长子串的长度?

javascript - 如何使用 phonegap 在 iPhone 中创建联系人

css - 我可以将正文与边注对齐吗?

javascript - 将图像最大宽度和最大高度设置为 100%,但允许图像缩放到大于自身的 100%

html - 将表格中文本下方的数字居中,居中于左侧

html - 省略协议(protocol)(方案)的绝对 URL 以保留当前页面之一