2013-11-30 3 views
1

I имеет следующую структуру:Выберите первый элемент CSS, используя псевдо-класс

<div class="myClass">1</div> 
<div class="myClass">2</div> 

Как выбрать первый элемент Немаловажен .myClass?

Я знаю, что я могу сделать: [PARENT OF .myClass] .myClass:first-child {/* rules */}, но мне интересно, если есть псевдо класс CSS, который выбирает первый элемент согласованного селектора.

Возможно ли это? Как?

Селектор jQuery будет выглядеть так: .myClass:first, но :first, похоже, не работает в CSS.

+0

Если не больше групп одного и того же класса , и если первый - это первый ребенок родителя, вы можете использовать 'first-child', иначе есть' nth-child', который несколько настраивается, или 'nt h-of-type', который не поддерживается во всех старых браузерах. – adeneo

+0

Учитывая, что у вас есть jQuery, почему бы не '$ ('. MyClass: first')' или '$ ('. MyClass'). First()' (или другие варианты)? Или, в обычном JavaScript: 'document.querySelector ('. MyClass')'? –

ответ

1

Хорошо, я не уверен, но это может сработать для вас.

some.great-selector:first-of-type { 
    /* Your rules here */ 
} 

Это будет соответствовать только первому ребенку, который соответствует some.great-selector в каждом родительском узле. Это несколько отличается от того, что делает :first в JQuery, но может оказаться полезным, например. в сочетании с селектором parent >.

0

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

Если вы хотите, чтобы добиться поддержки в устаревших браузерах вы можете применить стиль ко всем элементам с определенным именем класса, а затем удалить его для всех двойников классов, так:

.my-class { 
    border-top: 1px solid lightgray; 
    border-bottom: 1px solid lightgray; 
} 

.my-class + .my-class { 
    border-top: none; 
} 

довольно произвольного пример, но ты Я пойду.

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