2015-01-30 10 views
6

W zagnieżdżonej liście podobnej do poniższej, w jaki sposób kierowałbyś się na ul zawierający joe, nie wiedząc z góry, jaka jest rzeczywista głębokość?Celuj w najgłębszy zagnieżdżony element ul/ol za pomocą css

<ul> 
    <li>foo 
     <ul> 
      <li>bar 
       <ul> 
        <li>baz 
         <ul> 
          <li>joe</li> 
         </ul> 
        </li> 
       </ul> 
      </li> 
     </ul> 
    </li> 
</ul> 

http://jsbin.com/fiqowuhate/1/edit?html,css,output

+5

Uważam, że to nie jest możliwe przy użyciu tylko CSS. – Harry

+0

możliwy duplikat [selektora CSS, aby uzyskać najgłębszy element konkretnej klasy w drzewie HTML] (http://stackoverflow.com/questions/5247888/css-selector-to-get-deepest-element-of-specific-class- in-the-html-tree) – Kaiido

Odpowiedz

4

miarę Osobiście jestem świadomy, to nie jest możliwe, ponieważ nie ma obecnie no parent selector in CSS, ale można użyć selektora jQuery $('ul:not(:has(ul))'); kierować ul elementów bez ul dzieci i dodaj klasy dla nich.

Example

+2

Świetna odpowiedź! To pytanie znalazło się w spinie, sprawdzając wszystkie możliwe selektory tutaj, pod kątem możliwej odpowiedzi. http://dev.w3.org/csswg/selectors-4/ – Aaron

+0

@Aaron Hej, dzięki. Najnowsze selektory CSS są świetne i jestem pewien, że byłoby to możliwe w ten czy inny sposób, ale zawsze wydają się być ograniczone przez obsługę przeglądarki. Argh! – Andy

0

var str = $ ("ul> li: ostatni") tekst();. alert ("Najgłębsza wartość: -" + str);

+0

Nie działa, jeśli na najwyższym poziomie znajduje się wiele elementów: http://jsfiddle.net/5pmbed57/ – Andy

Powiązane problemy