Visualizzazione dei risultati da 1 a 10 su 10

Discussione: nodi in javascritp

  1. #1

    nodi in javascritp

    Buongiorno a tutto lo staff e agli utenti.
    Ho una domanda da fare.
    ho creato una funzione javascript che mi popola il mio div ogni volta che inserisco un elemento:

    codice:
    function inserisci(mia_stringa, mydivid)
    {   
    var link  = document.createElement("SPAN"); 
    link.setAttribute("class","cic");  	
    var acapo = document.createElement("BR");  	
    var testo = document.createTextNode(mia_stringa);  
    link.appendChild(testo); 	
    link.appendChild(acapo); 	//document.body.appendChild(link);    
    my_P = document.getElementById(mydivid); 	
    my_P.appendChild(link); 
    }
    Ho la necessita pero anche di eliminare un nodo che è stato creato.
    Ho trovato sul sito un tutorial su come eliminare l'ultimo nodo inserito.
    Quello che non riesco a capire è come eliminare un iesimo nodo.
    Mi spiego meglio :
    codice:
     
    <div id="midivid">
    <span class="cic">testo1</span>
    <span class="cic">testo2</span>
    <span class="cic">testo3</span>
    .........
    <span class="cic">testo n</span>
    </div>
    Se volessi eliminare il "testo3", come devo fare?

    vi ringrazio per la disponibilità.
    A presto.
    E.

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Leggi qui
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    se il problema e' identificare l' elemento da rimuovere, tutto dipende da quanto e' articolato il contenuto

    nel tuo esempio gli "item" sono tutti span e non vi sono span nei loro contenuti:
    ti basta un document.getElementById('midivid').getElementsByTa gName('span')[2] per identificare il terzo

    se il tag potrebbe presentarsi nel contenuto individuarlo per classe diventa essenziale, quindi ti serve una funzione getElementsByClass o getElementsByClassName, che non e' (sempre) nativa nel browser
    per cui e' stata scritta per renderla crossbrowser varie volte (cerca con google)

    puoi anche pensare di scriverne una tu, un po' semplificata
    codice:
    function gEBCN(c,i,t){
    	var	arr=[], 
    		els=document.getElementById(i).getElementsByTagName((t)?t:'*'),
    		cls=new RegExp('\\b'+c+'\\b');
    	for(var k=0,l=els.length;k<l;++k) if(cls.test(els[k].className)) arr.push(els[k]);
    	return arr;
    }
    dove parli del terzo span come
    codice:
    var q=gEBCN('cic','midivid','span');
    if(q[2]){ ...qui fai quello che vuoi con q[2]... }

  4. #4
    Ragazzi, come sempre siete di una gentilezza infinita.
    Grazie mille a tutti quanti.

  5. #5
    Ragazzi, scusate se vi rompo le scatole.
    Vorrei sapere come faccio a prendere il valore di un determinato nodo.

    codice:
    <html>
    <body>
    <script language="JavaScript">
    var count=0;
    function function1() {
    	
        var m = "New Element";
        
        
        var n = document.createElement("LI");
        n.appendChild(document.createTextNode(m+count));
        count++;
        document.getElementById("myList").appendChild(n);
        
        } 
    function function2() {
    	var x = myList.getElementsByTagName('LI').length;
    	
    	for(i=0;i<x;i++)
            {
               /*QUI VORREI UN ALERT CHE MI DIA IL VALORE CONTENUTO NEL LI...*/
             }
    
    	}
    </script>
    <ul id="myList">[*]First list element[*]Second list element[*]terzo elemento lista[*]quarto elemento lista[/list]
    <input type="button" value="Add list item" onClick="function1();">
    <input type="button" value="Remove added items" onClick="function2();">
    </body>
    </html>
    Come faccio a prendere il valore contenuto nel LI.
    Ho provato con

    codice:
    myList.getElementsByTagName('LI')[0].nodeValue ;
    ma mi restituisce null.
    Sicuramente sbaglio in qualcosa, ma non so cosa.
    Grazie per la disponibilità

  6. #6
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    .firstChild.nodeValue

    myList come lo usi in function2 non va bene, dev' essere document.getElementById('myList')

  7. #7
    Originariamente inviato da Xinod
    .firstChild.nodeValue

    myList come lo usi in function2 non va bene, dev' essere document.getElementById('myList')
    Scusami ma non è che mi sia molto chiaro quello che hai scritto.
    Potresti essere un po piu preciso per favore?
    Grazie

  8. #8
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    non ci si riferisce ad un elemento solo con il suo id,
    serve document.getElementById('id')

  9. #9
    Ciao, grazie per la risposta, ma anche facendo come tu dici , ossia:
    codice:
    document.getElementById("myList").getElementsByTagName('LI')[0].nodeValue ;
    il risultato è null.

  10. #10
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    Originariamente inviato da Xinod
    .firstChild.nodeValue

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.