Javascript 向元素添加新样式会导致错误吗?

Javascript 向元素添加新样式会导致错误吗?,javascript,html,css,Javascript,Html,Css,我试图向对象添加新样式,但出现以下错误: NoModificationLowerError:不允许对此文档进行修改 代码: var button = document.getElementById("button"); var buttonComputedStyles = getComputedStyle(button); buttonComputedStyles.setProperty("animation", targetAnimation); // error here 无法对计算样式

我试图向对象添加新样式,但出现以下错误:

NoModificationLowerError:不允许对此文档进行修改

代码:

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属性,而不是按钮本身的属性。要操作-您的最后一行代码有什么问题?@tyleroper
button.style.animation=targetAnimation?@j08691是的,可以。我的意思是,你之前评论中的代码行似乎与目标不一致。这是正确的,这是不可能的。它是只读的。您的答案在MDN文档中:
button.setProperty(“动画”,targetAnimation)虽然我不完全确定你在说什么after@j08691我想象OP想要设置CSS属性,而不是按钮本身的属性。要操作-您的最后一行代码有什么问题?@tyleroper
button.style.animation=targetAnimation?@j08691是的,可以。我的意思是,您之前评论中的代码行似乎与目标不一致。