Visualizzazione dei risultati da 1 a 7 su 7

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2016
    Messaggi
    10
    Ecco la parte di codice che ho scritto, con la quale ho tentato di richiamare gli elementi 'a' dei 3 div e metterli in unico array 'w' al quale applico la funzione. Ma purtroppo tale funzione non riesce ad operare su 'w', temo che ci sia un errore proprio nella definizione di quest'ultimo. Qual è l'errore?

    codice:
    x=document.querySelectorAll("#div1 > a");
    y=document.querySelectorAll("#div2 > a");
    z=document.querySelectorAll("#div3 > a");
    var w=[];
    w.push(x);
    w.push(y);
    w.push(z);
    for(i=0;i<w.length;i++){
                    w[i].onclick=function(){nomefunzione}
                    }


    P.S. escludo che sia la funzione il problema perchè agisce in modo corretto su altre variabili
    Ultima modifica di monday; 24-02-2016 a 00:14

  2. #2
    Quote Originariamente inviata da monday Visualizza il messaggio
    Qual è l'errore?
    Non puoi associare una funzione direttamente ad una collezione di elementi del DOM, devi eseguire un loop sulla collezione ed assegnare la funzione al singolo elemento:

    codice:
    x=document.querySelectorAll("#div1 > a");
    y=document.querySelectorAll("#div2 > a");
    z=document.querySelectorAll("#div3 > a");
    var w=[];
    w.push(x);
    w.push(y);
    w.push(z);
    for(i=0;i<w.length; i++){
        var collection=w[i];
        for(var j=0; j<collection.length; j++){
            collection[j].onclick=function(){nomefunzione}
        }
    }

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2016
    Messaggi
    10
    Quote Originariamente inviata da lucavizzi Visualizza il messaggio
    Non puoi associare una funzione direttamente ad una collezione di elementi del DOM, devi eseguire un loop sulla collezione ed assegnare la funzione al singolo elemento:

    codice:
    x=document.querySelectorAll("#div1 > a");
    y=document.querySelectorAll("#div2 > a");
    z=document.querySelectorAll("#div3 > a");
    var w=[];
    w.push(x);
    w.push(y);
    w.push(z);
    for(i=0;i<w.length; i++){
        var collection=w[i];
        for(var j=0; j<collection.length; j++){
            collection[j].onclick=function(){nomefunzione}
        }
    }
    Ho verificato, adesso funziona. Grazie mille

Tag per questa discussione

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 © 2026 vBulletin Solutions, Inc. All rights reserved.