2012-10-03 10 views
9

Eventuali duplicati:
Is there a CSS parent selector?.closest() in CSS

io sono in grado di nascondere un albero DOM che sembrano in questo modo utilizzando .closest().

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

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

Sarà possibile ottenere lo stesso effetto utilizzando semplicemente i CSS?
Se sì, come?

+2

no, non esiste un selettore * ancestor * in CSS come '.child <.parent'. O stai chiedendo qualcos'altro? – fcalderan

+0

@FabrizioCalderan Vorrei nascondere qualcosa che assomiglia a '.child <.parent' –

+0

È necessario rimuovere lo spazio tra' $ ('. Child'). 'E' closest ('parent'). Hide(); "A proposito. – Blazemonger

risposta

-6

potrebbe essere in grado di utilizzare questo

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

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

+14

* "Siamo chiari qui, nel caso qualcuno lo trovi da un motore di ricerca: non ci sono selettori genitori in CSS, nemmeno nel CSS3" * (cit.) - quelli sono solo l'implementazione suggerita, non l'effettiva implementazione – fcalderan

+1

incredibile quante persone hanno frainteso quell'articolo come suggerendo che un tale selettore esiste. – BoltClock

+0

aaaand è per questo che abbiamo jQuery. –

3

Attualmente non esiste alcun selettore in grado di selezionare un elemento precedente o principale.

C'è un selettore di livello 4 che è currently being developed.

Quindi, in futuro, si può essere in grado di fare qualcosa di simile:

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

Ma fino ad allora, si dovrà attaccare con

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

in jQuery.