-1

Web ページの CSS スタイルの特定のクラスを、追加した新しい Div 要素に再利用したいと考えています。ページの再設計に Greasemonkey を使用しています。

bar1にスタイルを追加するにはどうすればよいmyDivですか?

元の分割:

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

新しい部門:

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

3 に答える 3

0
myDiv.className = 'bar1';

or

myDiv.className = document.getElementById ('bar1').className;
于 2012-07-12T03:15:02.743 に答える
0

Sounds like your end goal is really to make something like a bookmarklet. If you are just looking to add a class you can always just set the "className" on a object since the word 'class' is protected.

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

I also threw in something style sheet dynamically (but only for more modern browsers, older browsers require a bunch more work).

于 2012-07-12T03:18:22.500 に答える
0

CSS の継承により、新しい要素が他の要素の兄弟でない限り、クラス名をコピーするだけでは十分ではありません。それでも、CSS3 セレクターのようなものnth-childは混乱を招く可能性があります。

代わりに、関連するすべてのスタイル プロパティを繰り返し処理し、計算された値を次のようにコピーする必要があります。

var stylesToCopy = ['color', 'background-color', ...];
var oldStyle = getComputedStyle(bar1);
for (var i = 0; i < stylesToCopy.length; i++) {
    myDiv.style[stylesToCopy[i]] = oldStyle[stylesToCopy[i]];
}
于 2012-07-12T04:10:06.493 に答える