2017-10-22 9 views
0

は今、体内の他のすべてのdivをマークし、レベル1で停止する方法がありDRY原則を使用してマック

<body> 
    <!-- mark div below level 1 --> 
    <div class="container"> 
     <!-- dont mark div below level 2 --> 
     <div class="some-class"> 

     </div> 
    </div> 

    <!-- mark div below level 1 --> 
    <div class="container"> 
     <!-- dont mark div below level 2 --> 
     <div class="some-class"> 

     </div> 
    </div> 
</body> 

以下のhtmlを考えるだけで1つのレベル深い体内の全ての偶数/奇数のdiv?

body div:nth-child(even) {background: #CCC} 
body div:nth-child(odd) {background: #FFF} 

以上も私はそれがレベル1で停止する必要があるいくつかのクラスをマークします、このCSSで得られる、またはデ私はJavaScriptを使用して持つことができますか?これは本体のみの直接の子を選択します

body > div:nth-child(…) { … } 

: はそれほど働か

+0

最初のコンテナに余分なクラスを与え、それを使用しますか? – Innervisions

+0

質問のタイトルと本文に「レイヤー」を「レベル」に置き換えてください。 – jcaron

+0

あなたのご意見をお寄せいただきありがとうございますが、DRY原則に反することはありません。 注目Jcaron – Alexander

答えて

1

AINT彼らにすべての余分なクラスを与えるさて、あなたは二つの可能性を持っている私はDRY原則 を使用するに注意してください。または

body div:nth-child(…) { … } 
body div:nth-child(…) div { /* undo marking */ } 

可能であれば、最初は明らかに好ましいものです。

+0

大丈夫私はそれを試して、あなたに感謝します:) – Alexander

+0

申し訳ありません、私は今、それをテストしたし、魅力のように、助けてくれていますSourceOverflow – Alexander