[Javascript] Visualizzare o nascondere div figlio

vasomik

Nuovo Utente
14 Mar 2017
31
0
6
Ciao a tutti,

premetto che sono niubbissimo, avrei la necessità di rendere visibile / nascondere in div all'interno di un div contenitore. Preciso che ho un numero n di div contenitori. Posto un pezzo di codice:

Codice:
<div class="pal_tabella">
        <div class="$bgcolor">
            <div class="pal_colonna">$Ora</div>
            <div class="pal_colonna">TimeZone</div>
            <div class="pal_colonnaSC">pippo</div>
            <div class="pal_colonnaST">pluto</div>
            <div class="pal_colonna">$P1</div>
            <div class="pal_colonna">$P2</div>
            <div class="pal_colonna">$P3</div>
            <div class="pal_colonna">$P4</div>
            <div class="pal_colonna">$P5</div>
            <div class="pal_colonna">$P6</div>
            <div class="pal_colonna">$P7</div>
            <div class="pal_colonna">$P8</div>
            <div class="pal_colonna">$P8</div>
            <div class="pal_colonna">$P10</div>
        </div>
        <div class="coll" id="prova">
            <div class="pal_hiddencol">prova33</div>
        </div>
      </div>

Siamo nel php, ma poco importa.
Di queste "tabelle" ne ho n. Quello che vorrei fare è, cliccando sul div pal_tabella il div coll relativo, in partenza nascosto tramite css, deve diventare visibile, e al nuovo click diventare nascosto.

Io non ci sono riuscito neppure tramite javascript.

Potete aiutarmi?

vasomik
 

Max 1

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
29 Feb 2012
4.067
299
83
Codice:
<div id="ora" class="pal_colonna" onClick="document.getElementById('ora').style.display='none';">$Ora</div>
 

vasomik

Nuovo Utente
14 Mar 2017
31
0
6
<div id="ora" class="pal_colonna" onClick="document.getElementById('ora').style.display='none';">$Ora</div>
Intanto ti ringrazio per la risposta. Partendo dal to codice, e avendo la necessità di far mostrare e nascondere il Div al click, ho creato questa funzione:

Codice:
<script type="text/javascript">
function visualizza(idDiv)
{
  var DivToShow =idDiv; //Forse è superfluo, nell'if basta indicare idDiv

  if(DivToShow.style.display=='none')
  {
    DivToShow.style.display='block';
  }
  else
  {
    DivToShow.style.display='none';
  }
}
</script>
Ogni elemento da mostrare/nascondere ha un id progressivo che riesco facilmente a recuperare.

Il problema è che al primo click il div non si mostra, dal secondo tutto funziona regolarmente.
Posto il codice css dell'elemento da mostrare/nascondere:

Codice:
.pal_hiddencol
{ 
  float: left; 
  width: 100%; 
  display: table-cell;
  border:0px dotted #333;
  display: none;
}
vasomik
 

Max 1

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
29 Feb 2012
4.067
299
83
Ti sposto in JS
 

macus_adi

Utente Attivo
5 Dic 2017
1.141
65
48
IT/SW
Utilizzando una View di Backbone potresti risolvere così:
Codice:
var Viewmy_items= Backbone.View.extend({
$el:'#contenitore',
events:{
    'click .myitem':'show_hide'
}

show_hide:function(e){
    $('.all_elements).addClass('hidden');
    $('#'+$(e.currentTarget).data('show')).toggleClass('hidden');
}

});
2 linee ed hai finito!