Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    14

    più div con lo stesso id

    Ovvero:
    ho più di un div che devono contenere (se premo un pulsante) delle scritte tutte uguali.
    Arbitrariamente non so quanti di div ho (vengono genrati da php)... ora non c'è modo di ottenere tutti gli oggetti che si chiamano nello stesso modo???
    Ho provata con la getElementsById ma mi restituiesce sempre solo il primo....
    Vanno in galera quelli che hanno sbagliato una sera, mentre è libero, ricco e celebre chi ha ammazzato un'idea

    Enrico Ruggeri

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    709
    L'attributo ID deve essere univoco (non puoi avere due elementi con lo stesso ID), potresti però provare ad utilizzare al suo posto l'attributo CLASS

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    14
    in che senso usare class??? per trovare tutti gli oggetti con quella classe????? e che funzione dovrei usare?
    Vanno in galera quelli che hanno sbagliato una sera, mentre è libero, ricco e celebre chi ha ammazzato un'idea

    Enrico Ruggeri

  4. #4
    visto che sie in php fai un ciclo sui record che hai e setta l'id crescente..
    no? :metallica :metallica
    ----------------------
    i rulez.-.dovrebbero mettere "pippo" come parola riservata in tutti i linguaggi

    The Cyberpunk System One
    http://www.geocities.com/notoleranceforyou/Hymagition.html

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    709
    Dunque, CREDO che ti occorra qualcosa di simile:
    codice:
    var myBrowser=navigator.appName
    if (myBrowser.indexOf('Explorer')!=-1) {
      for (var i=0; i<document.all.tags('div').length; i++) {
        if (document.all.tags[i].class=="pippo") {
          ...
        }
      }
    } else {
      for (var j=0; j<document.layers.length; j++) {
        if (document.layers[j].class=="pippo") {
          ...
        }
      }
    }
    Non sono sicuro della sintassi e degli oggetti che ho utilizzato, ma più o meno spero di aver reso l'idea di cosa potresti fare.

    Personalmente però sceglierei un'altra strada (quella indicata da CYberpunkSystemOne):
    1) Modificherei lo script PHP in modo che creasse dei layer con IDs univoci (myLayer+contatore=myLayer0, myLayer1, myLayer2, ...)
    2) Richiamerei i layers secondo il loro ID:
    codice:
    var i=0;
    while (document.getElementByID('myLayer'+i)) {
      i++;
      ...
    
    }

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    14
    eehhe farlo in php sarebbe molto semplice ma vorrei evitare di appensentire inutilmente le pagine.
    E poi il valore devo metterlo solo in un caso....

    uhm... non sapevo della esistenza della funzione all.tags!!!
    mo guardo ^_^
    Vanno in galera quelli che hanno sbagliato una sera, mentre è libero, ricco e celebre chi ha ammazzato un'idea

    Enrico Ruggeri

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    311
    non vorrei sbagliarmi ma document.all è solo per IE, mentre document.layers è per NN4, per cui manca il supporto per i browser compatibili con il DOM standard

    per quelli esiste document.getElementsByTagName("div")

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    14
    getElementsByTagName
    funge sia con mozilla che con ie55
    direi che è la soluzione giusta
    Vanno in galera quelli che hanno sbagliato una sera, mentre è libero, ricco e celebre chi ha ammazzato un'idea

    Enrico Ruggeri

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.