- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想检索可以设置为 dom 对象的所有可用键/样式的列表:CSSStyleDeclaration 对象。如果我在 chrome 中运行这行代码
console.log(Object.keys(document.querySelector('.class1').style));
我得到了预期的结果:
(517) ["alignContent", "alignItems", "alignSelf", "alignmentBaseline", "all", "animation", "animationDelay", "animationDirection", "animationDuration", "animationFillMode", "animationIterationCount", "animationName", "animationPlayState", "animationTimingFunction", "backdropFilter", "backfaceVisibility", "background", "backgroundAttachment", "backgroundBlendMode", "backgroundClip", "backgroundColor", "backgroundImage", "backgroundOrigin", "backgroundPosition", "backgroundPositionX", "backgroundPositionY", "backgroundRepeat", "backgroundRepeatX", "backgroundRepeatY", "backgroundSize", "baselineShift", "blockSize", "border", "borderBlockEnd", "borderBlockEndColor", "borderBlockEndStyle", "borderBlockEndWidth", "borderBlockStart", "borderBlockStartColor", "borderBlockStartStyle", "borderBlockStartWidth", "borderBottom", "borderBottomColor", "borderBottomLeftRadius", "borderBottomRightRadius", "borderBottomStyle", "borderBottomWidth", "borderCollapse", "borderColor", "borderImage", "borderImageOutset", "borderImageRepeat", "borderImageSlice", "borderImageSource", "borderImageWidth", "borderInlineEnd", "borderInlineEndColor", "borderInlineEndStyle", "borderInlineEndWidth", "borderInlineStart", "borderInlineStartColor", "borderInlineStartStyle", "borderInlineStartWidth", "borderLeft", "borderLeftColor", "borderLeftStyle", "borderLeftWidth", "borderRadius", "borderRight", "borderRightColor", "borderRightStyle", "borderRightWidth", "borderSpacing", "borderStyle", "borderTop", "borderTopColor", "borderTopLeftRadius", "borderTopRightRadius", "borderTopStyle", "borderTopWidth", "borderWidth", "bottom", "boxShadow", "boxSizing", "breakAfter", "breakBefore", "breakInside", "bufferedRendering", "captionSide", "caretColor", "clear", "clip", "clipPath", "clipRule", "color", "colorInterpolation", "colorInterpolationFilters", "colorRendering", "columnCount", "columnFill", …]
但是在 Firefox 中我得到一个空数组,而在 Edge 中我得到一个只有 1 个元素的数组
[object Array]: ["WebkitAnimation"]
0: "WebkitAnimation"
length: 1
我的一行代码有什么问题?
最佳答案
Window.getComputedStyle()
方法返回一个包含元素所有 CSS 属性值的对象。使用以下内容
let compStyles = window.getComputedStyle(document.querySelector('.class1'));
console.log(Object.values(compStyles));
关于javascript - 检索 CSSStyleDeclaration 原生 Javascript 对象的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59905726/
我正在尝试使用浏览器的内置类型 CSSStyleDeclaration 以编程方式传递和修改样式(由于 .cssText 属性,这很方便)。 但是,new CSSStyleDeclaration()
是否可以在 JavaScript 中覆盖 CSSStyleDeclaration 对象的 textShadow 属性? 我尝试了以下方法: var element = document.createE
我正在从事一个元素,该元素转换元素的左侧 CSS 属性,该属性被定义为百分比(例如 100% 到 0%)。我在 Chrome 中进行开发,它为我提供了 left 的 style 百分比值,这是的工作方
当我编辑内容并保存更改时,它会在刷新页面时显示 [object CSSStyleDeclaration] 而不是我更新的内容。 function newElement() { let li = d
我的意思是这个函数的逆向: styleObj = window.getComputedStyle(node); 所以像这样: node = window.getNodeFromStyle(styleO
我确信这是一个简单的错误,但我已经花了一个多小时试图找到问题所在,并且肯定可以使用不同的观点。 在下面的函数中,我改变了两个按钮的样式。其中之一正确响应,并且在调用该函数 (deleteBtnToDe
我在 Eclipse RCP 应用程序上工作,该应用程序具有使用 XULRunner 的 HTML 编辑器。在与编辑器交互的 JavaScript 代码中,我想使用 CSSStyleDeclarati
我知道要替换单个样式,代码看起来像这样: myDOMElement.style.height = '400px'; 但是如果我想一举完全替换整个样式对象,从而加快速度并避免重绘怎么办?例如,我想这样做
假设我在 HTML 文件中有一个按钮, Click Me 使用 JavaScript 将该按钮的颜色更改为红色。 const btn = document.querySelector('#btn');
我有一个小函数,它将接受一串 css(例如 background: red; width: 145px; height: 145px;)并返回一个 CSSStyleDeclaration 但如果我有一
(仅限 CHROME)我试图在运行时修改媒体查询相关的 CSSRules,但是,当我修改规则时,文档不会重新呈现。只有当媒体查询再次更改时,文档才会重新呈现。如果你看一下 fiddle ,你会注意到在
我想在所有元素上实现名为 myColor 的假样式。在元素上设置 myColor 样式时,实际的 color 应设置为相同的值。执行此操作的明显方法是在 CSSStyleDeclaration.pro
我有一个简单的 div,它使用一个 css 类,该类又具有 color 和 background-color 属性集。 var div = document.createElement("div");
错误下以下代码无效: 类型“CSSStyleDeclaration”上不存在属性“backdropFilter”。 const modal = document.createElement('div'
我有一些 CSSStyleDeclaration 的自定义方法。我是这样用的: A_OBJECT.style.method() ; 代码很简单: CSSStyleDeclaration.prototy
我想检索可以设置为 dom 对象的所有可用键/样式的列表:CSSStyleDeclaration 对象。如果我在 chrome 中运行这行代码 console.log(Object.keys(docu
问题是一些css属性有不同的名称是javascript,例如js中的textOverflow是css中的text-overflow。 在 js 引擎的某处是否有一个我可以访问的翻译表,或者我必须自己做
比如我们需要访问body的padding-right let el = document.querySelector('body'); let style = window.getComputedSt
我正在 W7 上的 IE 11 和最新的 Chrome 中研究 CSSStyleDeclaration。我的标记是这样的: 问题是在 Chrome 中它没有最小高度但 IE 可以正确显示。有人能解释
我在捕获 cssutils.css.CSSStyleDeclaration 检测到的 CSS 属性验证错误时遇到了问题。 初始代码: from cssutils.css import CSSStyle
我是一名优秀的程序员,十分优秀!