Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    incompatibilità getElementiById con IE

    ciao!!
    ho uno script per far apparire e scomparire un elemento solo che con ie getElementiById non funziona. non è che mi dareste una mano per farlo diventare compatibile??
    vi posto lo script

    codice:
    function showdisplay(id){
    var display = document.getElementById(id).style.display ;
    if ( display=="block"){
     document.getElementById(id).style.display="none" ;
    }
    else {
     document.getElementById(id).style.display="block" ;
    } 
    }
    grazie 1000!

  2. #2
    perché in IE6 non esisteva si usava document.all[id]

  3. #3
    in pratica:

    function showdisplay(id){
    var display = document.all[id].style.display ;
    if ( display=="block"){
    document.all[id].style.display="none" ;
    }
    else {
    document.all[id].style.display="block" ;
    }
    }


    ???

    grz 1000

  4. #4
    no, perché document.all non c'è in tutte le altre versioni del browser, devi controllare se document.getElementById esiste, se si usi quella, se no usi document.all

  5. #5
    ???

    non è che me lo potresti fare te??
    cosi capisco meglio!
    grz 1000!

  6. #6
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    Originariamente inviato da artorius
    perché in IE6 non esisteva si usava document.all[id]
    document.getElementById mi risulta supportato da IE5.x in poi

    probabilmente il punto e' che testa per una proprieta' non settata nel css in linea o non settata in precedenza via javascript

  7. #7
    cioè?
    come dovrei fare?

  8. #8
    up

  9. #9
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    eh...
    in document.getElementById(id).style.display ritrovi il valore del display se e' settato nel css in linea
    <div id="id_elemento" style="display:none">
    o e' stato settato in precedenza via javascript

    per farla breve, diciamo che se gli elementi sono inizialmente visibili
    codice:
    function showdisplay(id){
      var display = document.getElementById(id).style.display ;
      if ( display=="block" || display==""){
        document.getElementById(id).style.display="none" ;
      }
      else {
        document.getElementById(id).style.display="block" ;
      }
    }
    se invece sono inizialmente nascosti da display:none nel css
    codice:
    function showdisplay(id){
      var display = document.getElementById(id).style.display ;
      if ( display=="none" || display==""){
        document.getElementById(id).style.display="block" ;
      }
      else {
        document.getElementById(id).style.display="none" ;
      }
    }

  10. #10
    a me serve uno script che funzioni con ie -.-

    scusami ma il problema non è il css ma ie.

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.