2013-09-23 2 views
0

У меня есть следующие HTMLвыберите coressponding следующего дочерний элемент

<div id="test"> 
<p class="one"></p> <---first one-----> 
<p class="two"></p> 
<p class="three"></p> 
<p class="four"></p> 
<p class="one"></p> <---second one----> 
<p class="two"></p> 
<p class="three"></p> 
<p class="four"></p> 
<p class="one"></p> <--- third one-----> 
<p class="two"></p> 
<p class="three"></p> 
<p class="four"></p> 
</div> 

Хорошо, теперь я сначала .one class тогда я хотел бы, чтобы выбрать следующий .one class и снова, если я во вторых один, то я хотел бы выбрать следующий .one class из этого. Я думаю, что нет :next-child что-то вроде этого .one:next-child, так как я мог это сделать?


обновление

@chopper ответ в порядке! но если он не может найти следующий, то он должен выбрать первый one

+0

К сожалению, не понял, что вы предназначенный * сначала '.one' класс *. – Harry

+0

в моем ex-one: next-child теперь должен выбрать следующий один класс, но нет такого псевдоселектора –

+0

Но что такое следующий один класс? Вы имеете в виду, что если ваш указатель мыши находится в первом элементе '.one', который вы хотите создать следующий следующий элемент? Я не думаю, что CSS может/предназначен для этого – Harry

ответ

3

Используйте JQuery .next() селектор:

var secondOne = firstOne.next('.one'); 

EDIT: @KevinB правильно, правильный ответ

var secondOne = firstOne.nextAll('.one:first'); 

или

var secondOne = firstOne.nextAll('.one').first(); 
+0

Это верно. Однако способ, которым он это описывал, возможен только через JS. В противном случае он мог бы просто выбрать все через '.one' – chopper

+1

Если это не правильный ответ, то я вообще не понимаю вопроса. –

+0

@chopper: Поймите. Это то, что я тоже пытался подчеркнуть. В чистом CSS это невозможно. – Harry

1

Я не уверен, что вы пытаетесь. если вы хотите следующий .one, вы можете просто использовать селектор.

p.one ~ p.one ~ p.one{ 
    background-color: green; 
} 

Working fiddle

Например, если вы хотите второй .one затем сделать так:

p.one ~ p.one { 
    /* apply styles */ /* selects all sibling elements */ 
} 

p.one ~ p.one ~ p.one{   /* overriding css styles */ 
    /* apply default styles */ /* selects all other sibling elements leaving the second element */ 
} 

Working fiddle (по наведению)

+0

Но как найти текущий и стиль следующего? – Harry

+0

@Harry CSS используется для простого применения стилей. если OP хочет найти элемент, то он/она должен делать это динамически. –

+0

Точно, я просто пытался подчеркнуть это.Как я сказал для ответа ниже, не поймите меня неправильно. Я не пытаюсь быть отрицательным :) – Harry

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