Avatar billede www.duzer.dk Nybegynder
11. marts 2003 - 22:48 Der er 10 kommentarer og
1 løsning

Tjekke om et objekt findes

Hvordan kan jeg tjekke om et objekt med et vis id findes.

Håber i forstår..
Avatar billede mortrr Praktikant
11. marts 2003 - 22:52 #1
fx
mitObjekt=document.getElementById("ObjektID");
if (mitObjekt) {
  alert("Yes - DOM browser");
} else {
  mitObjekt=document.all("ObjektID");
  if (mitObjekt) {
    alert("Yes - IE4");
  }
}
Avatar billede mortrr Praktikant
11. marts 2003 - 22:54 #2
Dårligt eksempel, men det giver dig nok idéen.
Reelt skal man først checke om document.getElementById overhovedet findes, og ligeså med document.all
if (document.getElementById) {
...
Avatar billede www.duzer.dk Nybegynder
11. marts 2003 - 23:00 #3
jeg forstår det ikke helt.. det her virker hvert fald ikke?

function tjekk(bruger){
mitObjekt=document.getElementById(bruger);
if (mitObjekt) {
  alert("Yes - DOM browser");
} else {
  mitObjekt=document.all(bruger);
  if (mitObjekt) {
    alert("Yes - IE4");
  }
}
}
Avatar billede mortrr Praktikant
11. marts 2003 - 23:15 #4
Lav det som fx:

var isDOM = (document.getElementById ? true:false);
var isIE = (document.all ? true:false);

function tjekk(bruger) {
  if (isDOM) {
    if (document.getElementById(bruger)) {
      alert("Ja - DOM");
      return true;
    }
  }
  if (isIE) {
    if (document.all(bruger)) {
      alert("Ja - IE4");
      return true;
    }
  }
  return false;
}
Avatar billede mortrr Praktikant
11. marts 2003 - 23:17 #5
Den vil returnere true eller false alt efter om objektet findes eller ej.

Variablen bruger skal være en streng. (eller et tal, men det er en anden snak)
Avatar billede www.duzer.dk Nybegynder
12. marts 2003 - 14:05 #6
Kan man ikke bare gøre sådan her..

function tjekk(brugeren) {
bruger = brugeren;
alert(bruger);
var isDOM = (document.getElementById ? true:false);
  if (isDOM) {
    if (document.getElementById(bruger)) {
      alert("Ja - DOM");
      return true;
    } else {
            alert("nej");
      return true;
            }
  }
  return false;
}



istedet for at have det der isIE eller ?
Avatar billede olebole Juniormester
12. marts 2003 - 15:32 #7
<ole>

Hvis du vil sikre dig, at IE4.X-brugere også kan bruge siden, bør du gøre, som mortrr viser dig.
Ellers kan du nøjes med:

function tjekk(bruger) {
    if (document.getElementById(bruger)) {
        alert("Ja - DOM");
        return true;
    }
    return false;
}

/mvh
</bole>
Avatar billede www.duzer.dk Nybegynder
12. marts 2003 - 16:05 #8
okey takker.. så får han point.. men lige en sidste ting hvis en af jer gider savre på det.. er der forskel på om man skriver :
document.all(bruger)

eller

document.getElementById(bruger)

.. Hvis, hvad er forskellen så?
Avatar billede olebole Juniormester
12. marts 2003 - 16:26 #9
IE 4.X forstår 'document.all' - men ikke 'document.getElementById'.
IE5+ forstår 'document.all' og 'document.getElementById'
NS6+ forstår 'document.getElementById' - men ikke 'document.all'.

'document.getElementById' er international standard ... det er 'document.all' ikke.
/mvh
Avatar billede www.duzer.dk Nybegynder
12. marts 2003 - 16:32 #10
okey.. dvs det er bedst at bruge 'document.getElementById' hvis man skal vælge én af dem?
Avatar billede mortrr Praktikant
12. marts 2003 - 22:50 #11
Hvis man SKAL, så ja.
Den vil blive forstået af 97-98% af "de besøgende" der kommer på de sites jeg har en pålidelig statistik for. (bredt publikum fra arbejdspladser og privat)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester