2011-01-23 19 views
0

ちょうどCSSを使用して#adminが存在する場合のみ、#maincontentと一致するルールを設定できますか?CSSで親の親を選択する方法は?

コントロールパネルには背景色がありますが、訪問者にはその色が欲しいとは限りません。

答えて

0

んがないCSSと:

if (document.getElementById("admin") != null) { // if there is a node with "admin" as ID 
    document.getElementById("maincontent").style.backgroundColor = "#000"; // changes the background to black 
} 

ここではどのようにjQueryでません。代わりに、管理者のために表示するCSSクラスの鶏を使用することもできます。だから、管理者

<div id="maincontent" class="adminBackground"> 
    <div id="content"> 
     <div id="admin"></div> 
    </div> 
</div> 

、通常の訪問者のための(クラス= "adminBackground" 属性が削除されることに注意)のために:

<div id="maincontent"> 
    <div id="content"> 
     <div id="admin"></div> 
    </div> 
</div> 

そして、そのクラス "adminBackground" の役割を定義します。

.adminBackground { 
    background: #AAAAAA; 
} 
1

残念ながら、CSSには親セレクタはありません。

クライアントでこれを行うにはjavascriptを使用する必要があります。

0

残念ながら、cssセレクタを使用してノードの親をターゲットにすることはできません。いくつかのJavascriptまたはjQueryを使用することでそうする必要があります。ここでは、javascriptとjQueryの両方を使いたいものを実現する方法の2つの例を示します。ここで

がどのようにjavscriptにあります:

if ($("#admin").size() === 1) { // if there is a node with "admin" as ID 
    $("#maincontent").css("background-color", "#000"); // changes the background to black 
} 
1

親要素を選択していますか?よくcss4とすることができます!

に..作品.. uhmm .. HH
$#maincontent #admin { 
    background:hotpink; 
} 

...

素晴らしいjQueryのスクリプトを使用して、しかし

、そうすることができますサー!

cssParentSelector.js

あなたはCSSを愛するならば、これは多くの状況

における絶対的なツールとして来るべきではありません
関連する問題