Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    come selezionare un elemento?

    io conosco solo questi metodi
    document.getElementById()
    document.getElementByClassName()(questa non sono neanche sicuro che esista)
    document.get elementsByTagName()

    quali sono gli altri?
    in particolare mi interesserebbe sapere se si può richiamare un'immagine dall'attributo alt,o uno span dal testo in esso contenuto

    grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    http://www.w3schools.com/htmldom/dom_obj_document.asp

    Qui trovi i vari getElement...

    Trovi anche la lista delle collezioni di un document.
    Ad esempio la collezione images[] ti porebbe servire.

    Per trovare un'immagine dal suo alt, io farei:
    codice:
    var imm = document.images;
    for(var i=0; i<imm.length; i++) {
      if(imm[i].alt == "ALT_DELL_IMMAGINE") {
        alert("trovato!");
        imm[i].src = "nuovaimm.gif";
        break;
      }
    }
    Nell'esempio viene cambiata l'immagine (rollover) con quel determinato alt, ma puoi fare quello che vuoi. Il break evita di controllarle tutte se te ne serve una sola, ma dipende da cosa vuoi farne.

    Similmente per lo span: devi fare il loop su tutti i getElementsByTagName('span') e cercare il testo (.innerHTML)
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    grazie della risposta!

    solo innerHTML,non l'avevo mai sentito,che cos'è?

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Dento un oggetto HTML, puoi leggere/scrivere usando .innerHTML (che in versioni vecchie di IE era circa .innerText). Funziona nei browser moderni (da IE6 e da NN6).

    Nota: scrive/legge tutto il contenuto HTML dentro un oggetto, quindi se l'oggetto e` uno span, probabilmente sara` del semplice testo, se e` un <div> ci sara` codice HTML complesso.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    posso fare una cosa del genere?
    var spa = document.getElementsByTagName('span');
    for(var i=0; i<spa.length; i++) {
    if(spa[i].innerHTML == "mi hai trovato!") {
    spa[i].innerHTML = "sono cambiato";
    break;
    }
    }

    un'altra domanda,se ho più elementi con lo stesso id(che tra l'altro dovrebbe essere scorretto,no?),come faccio ad applicare una stessa modifica a tutti???

  6. #6
    no,non mi funziona il codice che inserito prima.....come mai?

  7. #7
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    hai uno
    <span>mi hai trovato!</span>
    nel documento?

    per la domanda, l' id e' univoco, non si possono avere + elementi con stesso id
    ciao

  8. #8
    si,la semplice pagina di prova che avevo fatto è questa
    codice:
    <html>
    <head><script type="text/javascript">
    function gira(){spa = document.getElementsByTagName('span');
    for(var i=0;i<spa.lenght;i++) {
    	if(spa[i].innerHTML == "mi hai trovato!") {spa[i].innerHTML="questa";}}}
    </script>
    	<title></title>
    
    </head>
    
    <body onLoad="gira()">
    <span>ciao</span>
    <span>mi hai trovato!</span>
    <span>tastiera</span>
    
    
    </body>
    </html>
    per caso a te funziona?

  9. #9
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    se scrivi lenght al posto di length non ci sono molte speranze che funzioni
    ciao

  10. #10
    ah,non è una di quelle cose che ci pensa IE a interpretarle nel modo corretto?

    ora funziona...grazie

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.