我正在开发一个元素,我在其中定义了自定义 html 元素并为它们指定了样式。 我正在尝试创建一个具有默认样式的按钮,并采用按钮的计算样式并将其设置为另一个自定义元素,按钮处于事件状态并具有悬停效果。
但它对我不起作用..有没有 friend 有解决方案或想法?
这里是我的代码:
var A_btnfake = document.createElement('button');
cS = document.defaultView.getComputedStyle(A_btnfake, null);
A_btn = document.createElement('custbtn');
A_btn.style=cS;
some_elm.appendChild(A_btn);
//i don't want to define each style one by one,like : A_btn.style.background = cS.backGround
有没有办法一次定义所有样式。
最佳答案
A_btn.style=cS;
style
property是只读 - 您不能将一个全新的 CSSStyleDeclaration
对象分配给一个元素,只能获取它的(可能与元素相关的)一个。
如果您想将样式复制到另一个样式,则必须逐个属性地进行:
for (var prop in cS)
A_btn.style[prop] = cS[prop];
关于javascript - 获取按钮的计算样式或默认样式并在新元素上设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21555243/