Visualizzazione risultati 1 fino 2 di 2

Discussione: getElementById da errore con [object HTMLParagraphElement]

  1. #1
    Guest

    Predefinito getElementById da errore con [object HTMLParagraphElement]

    Buon giorno ho il seguente problema, ho bisogno di prendere una scritta all'interno di un div che non si trova dentro nessun tag p, span o altro, per esempio:

    Codice HTML:
    <div>Il testo ...</div>
    Dopo aver preso la scritta devo "splittarla" (dico splittarla perché uso la funzione split()) e inserire il primo elemento dell'array all'interno di un altro elemento per esempio un tag p, questo è il mio codice.

    Codice HTML:
    <!DOCTYPE html>
    <html>
    <head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <script>
    $(document).ready(function(){
        //prendo il contenuto del div titolo 
        var titolo = document.getElementById("titolo");
        //specifico che è una stringa
        var titolo = String(titolo);
        //divido la stringa in due elementi di un array alla virgola
        var titoloElemento0 = titolo.split(",");	
        //inserisco il primo elemento dell'array nel tag p
        document.getElementById("demo").innerHTML = String(titoloElemento0[0]);
    });
    </script>
    </head>
    <body>
    <br><br>
    <br><br>
    <div id="titolo">Titolo1,luogo<div>
    <p id="demo"></p>
    </body>
    </html>
    Ma purtroppo all'interno del tag p con id demo inserisce questa scritta [object HTMLParagraphElement], ora io credo che il problema sia nel momento in cui io prelevo il testo dal div titolo perché è li che la variabile titolo riceve quel valore ma non riesco a risolvere il problema.
    Vi ringrazio molto per l'aiuto e per l'attenzione buona giornata.

    Grazie.
    Ultima modifica di sitodiprova1927 : 30-03-2018 alle ore 10.59.44

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,173

    Predefinito

    È normale perché la document.getElementById come dice il nome ritorna l'oggetto, non il contenuto (o il testo che contiene).
    Dovresti usare .innerHTML:
    Codice:
    var titolo = document.getElementById("titolo").innerHTML;
    Ma visto che includi jQuery, perché non fai tutto tramite jQuery?
    Codice:
    var titolo = $('#titolo').text();
    var titoloElemento0 = titolo.split(",");
    $('#demo').text(titoloElemento0[0]);

    Cambierei nome all'array titoloElemento0 che è fuorviante in quanto non contiene solamente l'elemento 0.

    Ciao!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •