2014-09-03 2 views
3

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

<body class="main"> 
    <elem class="something"> 
    <elem id="link"> 
     <elem class="otherclass"> 
     <p class="text">Hello</p> 
     </elem> 
    </elem> 
    </elem> 
</body> 

, поэтому я хочу, чтобы найти .text через .main, не зная количество элементов между ними и с чистым CSS.

Благодаря

+0

Почему бы вам не пойти на '.main .text {}'? – Manwal

ответ

2

Вы можете использовать следующий селектор:

.main > * .text 

Какие будут выбраны все .text элементы, которые являются потомками .main, но не непосредственных потомков.

+0

Хороший, особенно потому, что он не будет выбирать '.text', который является прямым потомком. '+ 1' – LinkinTED

+1

@LinkinTED Довольно уверен, что это то, чего хотел OP, считая название сказанным *« неотъемлемым дочерним элементом »*. Однако это немного неясно. –

+0

+1 Вы можете быть правы, хотя в формулировке есть неоднозначность, в которой может быть справедливым ответ «.main .text». –

1

Вы можете просто использовать для всех клиентских элементов:

.main .text 
{ 
/*css*/ 
} 

DEMO

для избежания потомков элемента (промежуточный ребенок) вы должны добавить * между как:

.main * .text 
{ 
/*css*/ 
} 

Featured DEMO

2

Следующее выберет любой .text, который является дочерним лицом .main.

CSS:

.main .text { 
    background-color: red; 
} 

JSFiddle: http://jsfiddle.net/3f20ojt8/

+0

Ударьте меня на 6 секунд :) – LinkinTED

+0

Хе-хе, подумал, что мне нужно быть быстрым с этим :) –

+0

Жаль, что он не делает то, что хочет TS (отметьте ответ Джона Козье) – LinkinTED

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