0

この一見冗長な質問をお詫びしますが、他のすべての人は、JQuery の使用など、さまざまなケースについて質問しているようです。動的に div を作成して既存の CSS スタイルを適用しようとしていますが、div がスタイルを引き継いでいません。どんなヒントでも大歓迎です:

    <style>
        div.tile {
            position: absolute;
            overflow: hidden;
            background:  rgba(1,1,0,1);
            width: 400px;
            height: 400px;
        }
        .a { left: 2cm; top: 2cm; z-index: 1; }
        .b { left: 4cm; top: 4cm; z-index: 2; }
    </style>
</head>
<body>
    <script type="text/javascript">

        createLayer(1);

        function createLayer(layerIndex){
            var div = document.createElement('div');
            div.id = "div"+layerIndex;
            div.class = "tile a";
            document.body.appendChild(div);
            var canvas = document.createElement('canvas');
            canvas.id     = "layer" + layerIndex;
            div.appendChild(canvas);
        }
4

2 に答える 2

5

バニラ JS では、クラスを要素に追加するためのプロパティはclassNamenotclassです。

代わりにこれを試してください:

div.className = "tile a";

于 2012-09-20T19:24:13.460 に答える
0

関数の実行後に HTML を調べて、クラスが適切に適用されていることを確認する必要があります。要素が正しくタグ付けされていない限り、動的に作成された場合でも、CSS は一致する要素に適用されます。Firefox で Firebug を使用して、div が正しいことを確認することをお勧めします。

于 2012-09-20T19:25:25.020 に答える