2015-10-31 9 views
5

dire il mio codice più o meno così:modo più semplice per mostrare/nascondere la div che condivide le classi con gli altri div utilizzando jQuery

<div class="click">click</div> 
<div class="something">sth</div> 
<div class="container"><div class="content">content 01</div></div> 
<div class="click">click</div> 
<div class="something">sth</div> 
<div class="container"><div class="content">content 02</div></div> 

con l'essere css:

.content { display:none; } 

ma quando scatto una delle il .click, mi piacerebbe solo lo .content sotto di esso per mostrare. qual è il modo più semplice e più semplice per farlo utilizzando jquery? Grazie in anticipo.

risposta

3

Basta legano evento click e utilizzare qualsiasi metodo trasversale rilevante, ad esempio:

$('.click').on('click', function(){   
    $(this).nextAll('.container').first().children('.content').show(); 
}); 

Ora il modo più semplice sarebbe quella di avvolgere tutti gli elementi specifici rilevanti all'interno di un elemento comune contenitore/involucro, e quindi utilizzare:

$(this).closest('.wrapper').find('.content').show(); 
+0

Sono quasi sicuro che questa sia la risposta che sto cercando, quindi grazie! ma, quale documento ho bisogno di mettere in '' perché funzioni, se posso chiedere? – Ana

+0

@Ana È necessario se impostato sulla sezione head, una volta jQuery incluso: ' 'Passerò in modo esplicito' $ 'all'evento pronto nel caso in cui si utilizzi CMS come ad esempio wordpress rimuovendo globalmente il riferimento' $ 'sul cambio readyState del documento. Vedi per quanto riguarda '$ (handler);' Stenografia del documento pronto: https://api.jquery.com/ready/ Se gli elementi '.click' vengono aggiunti dopo che DOM è pronto, usa la delega: https://learn.jquery.com/events/event-delegation/ –

+0

Attualmente lo sto testando su jsfiddle e non sembra funzionare (?). quale libreria jquery dovrei selezionare? – Ana