[英]get computed or default style of button and set on a new element
我正在一个项目中定义自定义html元素并为其指定样式。 我正在尝试创建具有默认样式的按钮,并采用按钮的计算样式并将其设置为另一个自定义元素,并具有按钮激活和悬停效果。
但是它对我不起作用..有没有伙伴有解决方案或想法?
这是我的代码:
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
属性是只读的 -您不能将全新的CSSStyleDeclaration
对象分配给元素,只能获取其(可能是元素绑定的)对象。
如果要将样式复制到另一个样式,则必须逐个属性地进行:
for (var prop in cS)
A_btn.style[prop] = cS[prop];
您需要通过CSS来做到这一点,特别是如果您想继承:active
和:hover
状态。 这真的很容易,只需将新元素添加到选择器列表f.ex中:
button,
custbtn { color: yellow; }
请注意,在IE的某些旧版本中,您需要虚拟地添加新的自定义元素,以便能够通过CSS定位它们(HTML5元素也是如此)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.