javascript - 在创建的div中,如何重用网页的CSS类?

  显示原文与译文双语对照的内容
0 0

我希望将网页的某些CSS样式的特定类重用到我添加的新Div元素。 我正在使用Greasemonkey重新设计页面。

如何向 myDiv 添加 bar1 样式?

原价为


<div id="bar1" class="bar1">

新的Div:


var myDiv = document.createElement('div');

时间: 原作者:

0 0

myDiv.className = 'bar1';

或者


myDiv.className = document.getElementById ('bar1').className;

原作者:
0 0

听起来像你的最终目标是做一个小书签。 如果只是想添加一个类,那么你总是可以在对象上设置"类名",因为'类'是 protected 。

http://jsfiddle.net/scispear/tCzZM/

我还在动态( 但对于更现代的浏览器,旧浏览器需要更多的工作) 中引入了一些样式表。

0 0

由于CSS继承,复制类名是不够的,除非新元素是其他元素的兄弟。 即便如此,像 nth-child 这样的CSS3选择器可能会。

你应该遍历所有相关的样式属性,并复制它们的计算值,如下所示:


var stylesToCopy = ['color', 'background-color',.. .];
var oldStyle = getComputedStyle(bar1);
for (var i = 0; i <stylesToCopy.length; i++) {
 myDiv.style[stylesToCopy[i]] = oldStyle[stylesToCopy[i]];
}

原作者:
...