Così ad occhio noto 2 errori principali:
1: stai lanciando quello script nell'head per cui gli elementi del DOM non sono ancora stati creati. Questo significa che la tua variabile idTag non può essere definita correttamente perché il metodo getElementById("destrotag") non può trovare quell'elemento (che ancora non è stato creato sulla pagina) e restituisce un valore null. Se apri la tua console web (puoi farlo pigiando F12) noterai un probabile messaggio di errore del tipo "document.getElementById(...) è null".
Ovviamente getElementById (come tutti gli altri metodi che servono a selezionare gli elementi della pagina) deve essere eseguito solo dopo che l'elemento specificato è stato creato sulla pagina e quindi risulta disponibile per la manipolazione via script.
Puoi risolvere includendo lo script alla fine del tag <body> prima del tag di chiusura, oppure con altri sistemi come, ad esempio, l'uso dell'evento onload. Sono comunque nozioni di base, meglio studiarle da qualche guida di base e farle proprie il prima possibile.
Un ulteriore consiglio che posso darti è quello di esercitarti ad usare la console web così che tu possa verificare da te eventuali errori, e magari anche riuscire a correggerli.
2: il metodo getElementByTagName() non esiste. Fai attenzione alla sintassi. Presumo tu volessi scrivere getElementsByTagName() (occhio alla "s" di Elements). Proprio quella "s" sta ad indicare che questo metodo restituisce una collezione di elementi (in particolare un oggetto NodeList), a differenza di getElementById() che restituisce un singolo specifico elemento. Perciò, anche usando quel metodo scritto come si deve, non puoi riferirti alla proprietà style così come hai fatto, perché questa non può essere trovata in un oggetto NodeList.
Tieni conto che i singoli elementi di un oggetto NodeList possono essere "selezionati" proprio come quelli di un Array, cioè specificando un indice tra parentesi quadre a seguire l'oggetto.
Per risolvere potresti quindi usare una cosa del genere per selezionare il primo elemento trovato:
Ad ogni modo, in questo caso, sarebbe forse più pratico e funzionale attribuire un id a quell'elemento e quindi andare sempre di getElementById, così come hai scritto di aver provato a fare, ma chiaramente correggendo gli altri errori.codice:document.getElementByTagName("header")[0].style.top


Rispondi quotando