Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    mostrare/nascondere più div con id diversi

    forse per voi è una domanda banale ma mi è sorto questo problema ho creato la classica funzione che con un bottone che mostra e nasconde un div, ma come posso fare a nascondere più div con id diversi?
    function assassini() {
    if(document.getElementById("protagonisti").style.d isplay=='') {
    document.getElementById("protagonisti").style.disp lay='none';
    }else{
    document.getElementById("protagonisti").style.disp lay='';
    } }

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2015
    Messaggi
    24
    Ciao Robbie,

    dipende da come riesci a selezionare questi div.
    Se riesci ad associarli ad una classe puoi utilizzare
    document.getElementsByClassName()
    altrimenti se riesci a selezionarli solamente per id l'unico modo è continuare la tua funzione specificando tutti gli id che devi nascondere.

    Personalmente comunque ti consiglio di utilizzare jQuery che ti permette tantissimi filtri "selettori" per eseguire le tue operazioni.
    per esempio la tua funzione si potrebbe risolvere in :
    jQuery('.classe').hide();

  3. #3
    quindi se ho 3 div con id comparse, protagonisti e registi. se voglio solo mostrare solo i registi. conviene usare jquery? Mi potreste fare un esempio pratico per poter capire meglio

  4. #4
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Premessa: quando posti del codice su questo forum è opportuno usare gli appositi tag di formattazione. Vedi info utili sul regolamento di sezione, tra i post in evidenza qui

    Puoi risolvere in vari modi. Te ne indico qualcuno.

    Se utilizzi jQuery (come ti è stato consigliato), con la funzione toggle() è più semplice che mai:
    codice:
    function tuaFunzione(){
      $('#id1, #id2, #idN').toggle()
    }
    Se vuoi risolvere in puro JavaScript puoi usare il metodo querySelectorAll() con un semplice ciclo.
    Una cosa del genere:
    codice:
    function tuaFunzione(){
      var e = document.querySelectorAll('#id1, #id2, #idN');
      var i = e.length;
      while(i--){
          e[i].style.display = e[i].style.display=='' ? 'none' : '';
      }
    }
    Se hai impostato una classe sugli elementi interessati, a seconda delle tue esigenze potrebbe tornare anche più semplice perché non devi specificare i singoli id ma giusto quell'unica classe.
    Una cosa del genere:
    codice:
    function tuaFunzione(){
      var e = document.querySelectorAll('.tuaClasse');
      var i = e.length;
      while(i--){
          e[i].style.display = e[i].style.display=='' ? 'none' : '';
      }
    }
    Allo stesso modo puoi farlo col metodo getElementsByClassName() come ti è già stato suggerito.
    Quindi risulterebbe:
    codice:
    var e = document.getElementsByClassName('tuaClasse');
    //...e il resto
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.