Avatar billede rudi1234 Nybegynder
23. november 2005 - 08:50 Der er 4 kommentarer og
2 løsninger

Afvikl kun kode hvis elementet med et bestemt id eksisterer

Jeg har brug for at afvikle noget Javascript-kode på de sider hvor et bestemt element eksisterer. Den skal med andre ord tjekke om der er et element med id="mit_element" på siden.

Jeg har prøvet if (getElementById('mit_element')) men den giver "Fejl på siden" hvis elementet ikke eksisterer...
Avatar billede fennec Nybegynder
23. november 2005 - 08:53 #1
try{
  document...
  ...
  ...
}catch(e){}
Avatar billede rudi1234 Nybegynder
23. november 2005 - 09:21 #2
Hej fennec

Jeg kender ikke try... så godt. Kan du skrive denn kodestump færdig, således at den giver alert('Elementet mit_element eksisterer ikke på denne side...')?

Hvis elementet eksisterer, skal den give alert('Elementet mit_element eksisterer faktisk på denne side...')?

<html>
<head>
<script type="text/javascript">
funtion checkout() {
    try{
      document...
      ...
      ...
    }catch(e){}
}

</script>
</head>

<body onload="checkout()">

<div id="mit_element2">Hejsa</div>
</body>

</html>
Avatar billede johan.o Nybegynder
23. november 2005 - 09:23 #3
Jeg mener jeg har brugt denne metode på et tidspunkt :

if(oElm=document.getElementById("mit_element")) {
alert("Den er go fin"); }
else {
alert("Den findes ... NOT"); }

Får du fejl på den ?

Mvh. Johan
Avatar billede rudi1234 Nybegynder
23. november 2005 - 09:27 #4
Tak - det virker med

if(oElm=document.getElementById("mit_element")) {
alert("Den er go fin"); }
else {
alert("Den findes ... NOT"); }

johan.o - smid et svar, så deler jeg points til dig og fennec...
Avatar billede fennec Nybegynder
23. november 2005 - 09:29 #5
Try/catch bruges til at afvikle kode som evt kan fejle, og som du så selv kan styre fejlhåndteringen. Den fanger alle typer af fejl, så det behøver ikke nødvendigvis være fordi elementet ikke eksistere. Når der opstår en fejl, hopper den ned i catch.

try{
  document.getElementById("mit_element")
  ...
  ...
}catch(e){alert("Der skete en fejl")}
Avatar billede johan.o Nybegynder
23. november 2005 - 09:31 #6
Det er i orden :)

Mvh. Johan
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