Visualizzazione dei risultati da 1 a 3 su 3

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2002
    Messaggi
    378

    getElementsByClassName come mai non funziona con i div

    Ciao,
    sono un principianti di JS, vorrei sapere come mai getElementsByClassName non mi funziona con i div.
    Grazie

    codice:
    <!DOCTYPE html>
    <html>
    <body>
    
    <div class="test">Orange</div>
    
    <button onclick="myFunction()">Try it</button>
    
    
    <script>
    function myFunction() {
      
      var myDiv = document.getElementsByClassName("test")[0];
      myDiv.getElementsByClassName("test")[0].innerHTML = "Milk";
    
    }
    </script>
    
    </body>
    </html>
    Basta vivere,
    basta amare ogni momento
    e non porsi alcuna domanda
    sul momento che verrà

  2. #2
    Utente di HTML.it L'avatar di ninja72
    Registrato dal
    May 2020
    residenza
    -
    Messaggi
    319
    C'è un errore evidente nello script js, ma anche come sintassi sa di vecchio (es5), ti consiglio un approccio più attuale. Ricorda inoltre che innerHTML serve per inserire codice html all'interno del DOM, nel tuo caso è sicuramente più indicato textContent visto che devi inserire solo testo.


    es5 style :
    codice:
    <div class="test">Orange</div>
    
        <button onclick="myFunction()">Try it</button>
    
        <script>
            function myFunction() {
                var myDiv = document.getElementsByClassName("test")[0];
                myDiv.textContent = "Milk";
            }
        </script>
    es6 style :
    codice:
     <div class="test">Orange</div>
    
        <button id='myButton'>Try it</button>
    
        <script>
            const myButton = document.getElementById('myButton')
            const myDiv = document.getElementsByClassName("test")[0]
    
            myButton.addEventListener('click', myFunction)
    
            function myFunction() { myDiv.textContent = "Milk" }
        </script>

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2002
    Messaggi
    378
    Grazie mille per le dritte.
    Hai qualche suggerimento per impare un Javascritp più attuale e meno datato?
    In giro c'è un sacco di roba, ma saperla filtrare è un affare da esperti.
    Grazie di nuovo e complimenti per la competenza
    Basta vivere,
    basta amare ogni momento
    e non porsi alcuna domanda
    sul momento che verrà

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.