Anche no. Stai richiamando la funzione attraverso l'evento onclick, per cui quella funzione e lo script contenuto in essa vengono eseguiti in modo asincrono (quando tutta la pagina si presume sia già stata caricata), questo può andare bene, ma non è così per lo script fuori dalla funzione che viene comunque eseguito nell'ordine di lettura della pagina stessa, cosi come il resto del contenuto del DOM. Se per la variabile idTag, che è letta e definita nel livello principale, utilizzi getElementById, devi assicurarti che l'elemento HTML specificato sia disponibile a quel punto della lettura della pagina.Ho ragionato sul fatto che lo script è richiamato da un evento onClick, per cui mi pareva più corretto richiamare gli script nell'head in modo che fossero "pronti" prima
Un modo per risolvere è quello che ti ho indicato, mettere lo script alla fine del body, ma ovviamente esistono altri metodi. Nel tuo specifico caso potresti addirittura inserire quella variabile dentro la funzione stessa; a quel punto sarà valorizzata ogni volta che la funzione viene richiamata per cui non dovrai preoccuparti di spostare lo script che può perciò restare nell'head.
Evidentemente c'è qualcos'altro che non va. Però capisci che a questo punto diventa difficile aiutarti se non si vede la pagina in azione.prima di </body> e correggendo il secondo errore (con la notazione tipo array), la console del browser non rileva errori ma neppure esegue lo script.
Se puoi, posta il link.
Non che non mi fidi, però... sarebbe utile vedere la pagina per verificare se effettivamente c'è questo conflitto ed eventualmente capire come risolverlo.C'è comunque un conflitto con un altro script (funzionante) sul medesimo div "destrotag", che serve quando la pagina è visualizzata su schermi più grandi.


Rispondi quotando