2013-11-15 6 views
0

Я следующий список:пункт Match, прежде чем указанный элемент

<ul> 
    <li class="parent">1.</li> 
    <li class="child">1. first</li> 
    <li class="child">1. second</li> 
    <li class="child">1. third</li> 

    <li class="parent">2.</li> 
    <li class="child">2. first</li> 
    <li class="child">2. second</li> 
    <li class="child">2. third</li> 
    <li class="child">2. fourth</li> 
    <li class="child">2. fifth</li> 

    <li class="parent">3.</li> 
    <li class="child">3. first</li> 
    <li class="child">3. second</li> 
    <li class="child">3. third</li> 
    <li class="child">3. fourth</li> 

    <li class="parent">4.</li> 
    <li class="child">4. first</li> 
    <li class="child">4. second</li> 
    <li class="child">4. third</li> 
</ul> 

Я хочу, чтобы установить заданный фон для first и последних элементов. Хотя у меня нет никаких проблем с first:

.parent + .child { 
    background-color: whitesmoke; 
} 

, то я не знаю, что делать с продолжается.

Просто: я хочу соответствовать .child до .parent.

ответ

1

Вы можете использовать JQuery .prev() селектор:

$('.parent').prev().css("background-color", "red");

http://jsfiddle.net/gC53q/1/

В CSS нет селектора предыдущего дочернего элемента. См here

+1

Спасибо, Майкл! Связанный с этим вопрос очень полезен. – hsz

+0

Рад, что это помогло. –

2
li:nth-child(2n+2) { 
    background-color: whitesmoke; 
} 

Вы ищете селектор nth-child. http://jsfiddle.net/mKH7j/

+0

К сожалению, я должен был изменить мой вопрос. Мне нужно совместить '1. третий', '2. пятый', '3. четвертый', '4. third' – hsz

+0

Я бы использовал '$ ('. parent'). prev(). css ('background-color', 'red'); $ ('ul li'). Last(). Css ('background-color', 'red'); ' http://jsfiddle.net/mKH7j/1/ – schnawel007

+0

Хорошо, получилось. Спасибо, Джошуа! – hsz

0

Вы хотите третий из трех дочерних селекторов, поэтому выберите третий родственный:

.child + .child + .child { background-color: red; }

http://jsfiddle.net/gC53q/

+0

Извините, мне пришлось изменить свой вопрос. Мне нужно совместить '1. третий', '2. пятый', '3. четвертый', '4. третий' – hsz

Смежные вопросы