Javascript 向元素添加新样式会导致错误吗?
我试图向对象添加新样式,但出现以下错误: NoModificationLowerError:不允许对此文档进行修改 代码:Javascript 向元素添加新样式会导致错误吗?,javascript,html,css,Javascript,Html,Css,我试图向对象添加新样式,但出现以下错误: NoModificationLowerError:不允许对此文档进行修改 代码: var button = document.getElementById("button"); var buttonComputedStyles = getComputedStyle(button); buttonComputedStyles.setProperty("animation", targetAnimation); // error here 无法对计算样式
var button = document.getElementById("button");
var buttonComputedStyles = getComputedStyle(button);
buttonComputedStyles.setProperty("animation", targetAnimation); // error here
无法对计算样式声明进行编辑吗
建议在什么地方添加样式
button.style.setProperty("animation", value);
更新:好的,@jmargolisvt的链接说: 返回的样式是一个实时CSSStyleDeclaration对象,它会更新 当元素的样式更改时自动执行 “返回的样式是一个活动对象”-我不久前读到了这篇文章,这让我感到困惑 从 返回的样式是一个实时CSSStyleDeclaration对象,它会更新 当元素的样式更改时自动执行。 返回的对象与对象的CSSSTYLEDECLASSION类型相同 从元素的样式属性返回。但是,这两个对象 有不同的目的: getComputedStyle中的对象是只读的,应该用于 检查元素的样式-包括由元素设置的样式 或者外部样式表 应使用element.style对象 设置该元素的样式,或检查直接添加到该元素的样式 来自JavaScript操作或全局样式属性 从 返回的样式是一个实时CSSStyleDeclaration对象,它会更新 当元素的样式更改时自动执行。 返回的对象与对象的CSSSTYLEDECLASSION类型相同 从元素的样式属性返回。但是,这两个对象 有不同的目的: getComputedStyle中的对象是只读的,应该用于 检查元素的样式-包括由元素设置的样式 或者外部样式表 应使用element.style对象 设置该元素的样式,或检查直接添加到该元素的样式 来自JavaScript操作或全局样式属性
没错,这是不可能的。它是只读的。您的答案在MDN文档中:
button.setProperty(“动画”,targetAnimation)代码>虽然我不完全确定你在说什么after@j08691我想象OP想要设置CSS属性,而不是按钮本身的属性。要操作-您的最后一行代码有什么问题?@tyleroperbutton.style.animation=targetAnimation代码>?@j08691是的,可以。我的意思是,你之前评论中的代码行似乎与目标不一致。这是正确的,这是不可能的。它是只读的。您的答案在MDN文档中:button.setProperty(“动画”,targetAnimation)代码>虽然我不完全确定你在说什么after@j08691我想象OP想要设置CSS属性,而不是按钮本身的属性。要操作-您的最后一行代码有什么问题?@tyleroperbutton.style.animation=targetAnimation代码>?@j08691是的,可以。我的意思是,您之前评论中的代码行似乎与目标不一致。