2016-11-10 50 views
0

我只有一個ID(主)。如何使用jQuery訪問後代?

我想設置的.css()爲 「主[0] - >子[0] - >離開[0]」 你可以看到如下:

<div id="main"> 

    <div class="sub"> 
     <div class="left"> 
      <div class="subsub"> 
       main[0]->sub[0]->left[0] 
      </div> 
      <div class="subsub"> 
       main[0]->sub[0]->left[1] 
      </div> 
     </div> 
     <div class="right"> 
      main[0]->sub[1] 
     </div> 
    </div> 

    <div class="sub"> 
     <div class="left"> 
      <div class="subsub"> 
       main[1]->sub[0]->left[0] 
      </div> 
      <div class="subsub"> 
       main[1]->sub[0]->left[1] 
      </div> 
     </div> 
     <div class="right"> 
      main[1]->sub[1] 
     </div> 
    </div> 

</div> 

我可以訪問第一個主要子這樣說:

$($('#main').children()[0]).css('MY CSS...'); 

與第二主孩子這樣說:

$($('#main').children()[1]).css('MY CSS...'); 

但我怎麼能進入「亞健康」類的孩子嗎?

回答

1

每個jQuery元素都有$.children()方法。所以,你可以做$($($('#main').children()[0]).children[0]).css()

但是,如果它被應用到的元素,你可以做$("#main .left .subsub").css()

1

使用.find的組合和一組相同的CSS規則:第一選擇。

$('#main').find(".subsub:first") 
1

這裏的嘶嘶聲選擇,可以發現兩者的第一個孩子:

$('#main .sub .left :first-child').css('color', 'red');

這不是最有效的(或唯一選擇),因爲$('.subsub:first-child').css()將正常工作。根據您進行此操作的次數,緩存父代並使用.children()this answer.