Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Problemi DOM

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    106

    Problemi DOM

    Ciao ragazzi,

    ho una struttura html di questo tipo:

    <div id="struttura">
    <li id="1">
    <li id="2">
    <li id="3">
    <li id="4">
    </div>

    e provo ad accedere agli elementi con il seguente codice di prova:

    var currentNode = document.getElementById("struttura").firstChild;
    var i = 0;
    while(currentNode != null){
    alert(i);
    i++;
    currentNode = currentNode.nextSibling;
    }

    A questo punto però, il contatore i mi conta 8 volte ( da 0 a 7 ). Come è possibile? Ci sono per caso dei nodi "nascosti" ?

    Ciao e grazie

  2. #2
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    direi lo spazio tra un[*] e il successivo
    4 elementi e 4 nodi testo


    ps. Un id o un name non possono iniziare con una cifra.
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    106
    Ciao e grazie per aver risposto.

    Quando dici: "direi lo spazio tra un[*] e il successivo" intendi dunque che lui vede qualcosa tra i[*]!!! Il mio problema è che all'interno dei[*], che tra l'altro vengono aggiunti in maniera asincrona, ho altri nodi e se voglio fare operazioni del tipo li.firstChild.getAttribute("qualcosa"), il ciclo non viene portato a termine in quanto in corrispondenza di quei nodi "nascosti" non trova il .firstChild.getAttribute("qualcosa").

    Ho messo una pezza all'interno del qhile del tipo
    if(currentNode.tagName=="LI")
    pero' non mi sembra il massimo!!!

    "ps. Un id o un name non possono iniziare con una cifra."
    Ho utilizzato i numeretti solo per farmi capire

    Ciao e grazie

  4. #4
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    ma il tuo problema nello specifico quale sarebbe? identificare solo i nodi[*]?
    o cos'altro?
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    106
    al momento identificare i nodi li.
    Ad ogni modo, con la modifica dell'if sembrerebbe che io abbia risolto.

    Ciao e grazie

  6. #6
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    document.getElementById("struttura").getElementsBy TagName('li');


    va ricalcolato se i nodi cambiano nel tempo.
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

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.