javascript - 仅使用 Javascript 获取 CSS 未计算的属性值

标签 javascript html css

因为我对编程还很陌生,而且我现在正在发现 Bootstrap,所以我正在使用容器、行和 col-XX 等进行练习,以了解它们的 CSS 属性是什么。

因此,我正在寻找开发人员使用 Javascript 放入 CSS 文件中的 CSS 值。不是 jQuery,而是普通 JS。不是计算的 CSS 值,而是写入的 CSS 值。就像我们在控制台中的那个一样。我想获取它们,以便以这种方式将它们放回 HTML 中:<p>margin-right: 5%</p> ,例如。

所以很多人都在谈论window.getComputed(element).getPropertyValue("property") ,但我不感兴趣。 我听说过cssText ,但我不确定这是否是好的。

有解决办法吗?实际上是否有一个地方可以存储选择器的所有属性值写入,与计算的属性值并行?

谢谢 阿诺

PS:我知道该主题已经开放 there但7年前就开业了,唯一的 self 回答我认为并不令人满意......

最佳答案

如果您需要以编程方式访问此信息(而不是仅在开发工具中查看),您需要寻找 document.styleSheets收藏。集合中的每个样式表都具有该样式表的 CSS 规则和媒体查询规则等,您可以在表单中访问实际样式信息,而不是计算结果。

例如:

var forEach = Array.prototype.forEach.call.bind(Array.prototype.forEach);
forEach(document.styleSheets, function(sheet, index) {
  forEach(sheet.cssRules || sheet.rules, function(rule) {
    if (rule instanceof CSSStyleRule && rule.selectorText == ".foo") {
      console.log(".foo's width rule: " + rule.style.width);
    }
  });
});
.foo {
  width: calc(100% - 10px);
}

关于javascript - 仅使用 Javascript 获取 CSS 未计算的属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46828223/

相关文章:

javascript - 获取嵌套数组/对象的数组中的所有唯一值(删除重复项)

javascript - Swift 将数据从 WebView 发布到 native 应用程序

javascript - 在 Loopback 同构客户端内部访问相关模型

javascript - 从导航栏到同一页面内主要部分的链接(内部 php/html 文件)

html - bootstrap-select 数据样式不起作用

html - Internet Explorer 中的图像很大,而 firefox 和 chrome 都很好

html - 为什么列表项不会在包含元素的底部对齐?

javascript - 保持风格固定输入直到改变

javascript - 如何检测浏览器中对省略号 (...) 的点击?

javascript - 单击 anchor 时淡出并淡入 href