2012-10-03 6 views
9

Duplicar posibles:
Is there a CSS parent selector?.closest() en CSS

soy capaz de ocultar un árbol DOM que miran de esta manera mediante el uso de .closest().

<div class='parent'> 
    <!-- some html code --> 
    <div class='child'> 
    </div> 
    <!-- some html code --> 
<div> 

$('.child').closest('parent').hide(); 

¿Se puede obtener el mismo efecto simplemente con CSS?
En caso afirmativo, ¿cómo?

+2

no, no hay un * ancestro * selector en CSS como '.child <.parent'. ¿O estás preguntando algo más? – fcalderan

+0

@FabrizioCalderan Me gustaría ocultar algo que se parece a '.child <.parent' –

+0

Debe eliminar ese espacio entre' $ ('. Child'). 'Y' closest ('parent'). Hide(); 'por cierto. – Blazemonger

Respuesta

-6

podría ser capaz de utilizar este

.child:parent .parent{display:none;} 

http://css-tricks.com/parent-selectors-in-css/

+14

* "Seamos claros aquí, en caso de que alguien encuentre esto en un motor de búsqueda: no hay selectores principales en CSS, ni siquiera en CSS3" * (cit.): Esos son solo implementación sugerida, no implementación real – fcalderan

+1

Es increíble cuántas personas han malinterpretado ese artículo sugiriendo que existe tal selector. – BoltClock

+0

aaa y es por eso que tenemos jQuery. –

3

Actualmente no existe ningún selector que pueda seleccionar un elemento anterior o principal.

Hay un selector de nivel 4 que es currently being developed.

Así que en el futuro, puede ser capaz de hacer algo como esto:

!.parent > .child { display: none; } 

Pero hasta entonces, tendrá que seguir con

$('.child').parent(); 

en jQuery.