2011-07-07 17 views
0

私はJavascriptによって要素を作成し、別の要素に適用し、私もこの新しい要素のスタイルとCSSファイルを持って、私は、コードを確認し、新しい要素が存在し、与えられたIDとクラス名を持っていますが、私のCSSです使用されていない。CSSはjavascriptで作成された要素に割り当てられていません - なぜですか?

var mainDiv=document.createElement("DIV"); 
mainDiv.id="ambiVid_controls"; 
mainDiv.className="ambiVid_controls"; 

Conts.parentNode.appendChild(mainDiv); 

とCSS:

.ambiVid_controls{ 
    position:absolute !important; 
    bottom:15px ; 
    width:60% !important; 
    height:50px !important; 
    margin-left:50% !important; 
    background-color:#333 !important; 
    z-index:1000 !important; 

} 

誰もが、これは無視されますかApplyChildとCSSを持つ任意の既知の問題がある理由を任意のアイデアを持っているコードは次のようになりますか?これが重要な場合

ブラウザは、Safariのです。

+3

* "Amyome am odeaなぜこのigetsは無視されたのですか" *申し訳ありませんが、真剣に、編集エリアや校正エリア? –

+1

もっとコードが必要になると思います。これはうまくいくように見えます。 – Matchu

+1

私は同意します。役に立たない音がする危険があるのに、質問に費やされた努力がなければ、なぜ私は答えに努力を費やすべきですか? –

答えて

0

あなたのCSSをthusly定義された場合は、classNameプロパティを追加する必要がありません:あなたは、そのID値を持つ複数の要素を追加する場合

#ambiVid_controls 
{ 
    position:absolute !important; 
    bottom:15px ; 
    width:60% !important; 
    height:50px !important; 
    margin-left:50% !important; 
    background-color:#333 !important; 
    z-index:1000 !important;  
} 

これ、もちろん、動作しないでしょう。

編集:代わりの :Conts.parentNode.appendChild(mainDiv)。 ...とCONTSはDIV、ちょうど行う Conts.appendChild(mainDivを)言うように、DOM内の既存の要素のIDですか。

+0

OPが代わりにIDを使用できることは間違いありませんが、OPの質問には対応していません。この質問では、OPは明らかに関連するクラス名を持つ要素を追加しています。これは表示されているCSSと一致します。代わりに要素のIDと一致するようにCSSを変更することは役に立ちません。 –

+0

だから、私はあなたの提案を幸運で試してみました。私はJSからIDを削除しました.Parentにセレクタを追加しました。Safari Inspectorをチェックし、すべてが正しく追加され、Elementが作成されました。 CSSクラスは適用されませんでした。ElementはデフォルトのCSSを使用するか、Parentsによって得られました... –

関連する問題