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

    Azionare javascript su piu div

    Salve,
    premetto che non sono un esperto di Javascript....anzi...
    Seguendo una guida ho fatto in modo di visualizzare o far scomparire un div...
    la mia esigenza è però quella di dare le proprietà di visualizzazione a più div con lo stesso id, perchè con il codice che ho usato mi fa scomparire solo il primo div che incontra con l'id specificato tralasciando gli altri.
    Il mio scopo è quello di creare una sorta di filtro....

    il javascript è questo associato ad un pulsante:
    function communication() {
    document.getElementById("box1").style.display="blo ck";
    document.getElementById("box2").style.display="non e";
    document.getElementById("box3").style.display="non e";
    document.getElementById("box4").style.display="non e";
    }

    i div sono questi...in questo caso scompaiono solo i primi box chiamati 2,3 e 4, mentre i secondi rimangono
    <div id="box1"></div>
    <div id="box2"></div>
    <div id="box3"></div>
    <div id="box4"></div>
    <div id="box1"></div>
    <div id="box2"></div>
    <div id="box3"></div>
    <div id="box4"></div>

    come dovrei fare per far scomparire tutti i div con id 2, 3 e 4?????
    grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    719
    Non lo puoi fare. Gli ID sono univoci. Devi assegnare degli id diversi tipo:

    <div id="box10"></div>
    <div id="box20"></div>
    <div id="box30"></div>
    <div id="box40"></div>
    <div id="box11"></div>
    <div id="box21"></div>
    <div id="box31"></div>
    <div id="box41"></div>

    e il relativo JS.

  3. #3
    l'avevo intuito, ma non c'è il modo di fare qualcosa del genere utilizzando un altra proprietà del div? tipo la classe?

    a me serve per creare come dicevo sopra una sorta di filtro per far comparire o scomparire i div appartenenti alla stessa "famiglia"

  4. #4
    Utente bannato
    Registrato dal
    Apr 2009
    Messaggi
    530

    if-statement through a for loop

    Si può fare anche disponendo di ID identici, gruppo per gruppo, e te ne posto un esempio; benché sul momento non ho tempo di illustrarti il funzionamento.
    Tieni presente che però quando dici:
    .. più div con lo stesso id, ..
    .. i div sono questi ...
    <div id="box1"></div>
    <div id="box2"></div>
    <div id="box3"></div>
    <div id="box4"></div>
    <div id="box1"></div>
    <div id="box2"></div>
    <div id="box3"></div>
    <div id="box4"></div>

    come dovrei fare per far scomparire tutti i div con id 2, 3 e 4 ?????
    non stai parlando di div-elementi con lo stesso id, se con ciò intendi:
    id="box2" id="box3" id="box4"
    perché questi sono di fatto, id diversificati. Quindi potrei non aver inteso esattamente come vuoi procedere.
    Dimmi un po' cos ti torna / non ti torna con questo:
    codice:
    <!DOCTYPE html PUBLIC>
    <html>
    <head><title>same id 's running</title>
    
    <script type="text/javascript">
    
    function hide(group) {
     var elements = document.getElementsByTagName("div");
     for(i=0; i<elements.length; i++){
       if(elements[i].id==group){
         elements[i].style.display="none";
       };
     };
    }
    
    function show(group) {
     var elements = document.getElementsByTagName("div");
     for(i=0; i<elements.length; i++){
       if(elements[i].id==group){
         elements[i].style.display="";
       };
     };
    }
    
    </script>
    
    </head><body>
    
    <input value="nascondi  box" type="button" onclick="hide('box');">
    <input value="nascondi  bed" type="button" onclick="hide('bed');">
    
    <input value="visualizza box" type="button" onclick="show('box');">
    <input value="visualizza bed" type="button" onclick="show('bed');">
    
    <div id="box">a</div>
    <div id="box">b</div>
    <div id="box">c</div>
    <div id="box">d</div>
    <div id="bed">e</div>
    <div id="bed">f</div>
    <div id="bed">g</div>
    <div id="bed">h</div>
    
    </body>
    </html>
    I DIV ovviamente, li puoi anche disporre in ordine diverso, casuale.

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.