javascript - 获取按钮的计算样式或默认样式并在新元素上设置

标签 javascript jquery html css

我正在开发一个元素,我在其中定义了自定义 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/

相关文章:

javascript - indexOf类似的函数可在javascript中返回多个外观

javascript - 单击单选按钮时,元素内容更改为图像

javascript - 如何使用它的 tds 动态生成表行?

html - 当它进入第二行时如何居中对齐 <li> 元素?

Javascript DRY 设计模式 - 函数与对象

javascript - 相对定位分区

javascript - 如何在 XMLHttpRequest 中添加 PHP 回显的元素?

html - 为什么 flex 元素不缩小过去的内容大小?

php - 未定义的命名空间 html(将 css 文件添加到 blade)laravel

javascript - AngularJS $http 返回 html 源代码