Avatar billede the_nest Nybegynder
21. juni 2001 - 09:58 Der er 14 kommentarer og
1 løsning

Hmmm et let et :)

Er der nogen der hved om der er et opslagsverk på nettet over JavaScript\'s funktioner ?

Og er der nogen der kan fortælle mig hvad document.all er? Jeg hved den retunere true/false men hvorfor? Er det noget med når hele dukumentet der loaded?

Håber i kan hjelpe mig :)

ps. der er 10 point til den er har svaret på document.all og 20 til det andet :)
Avatar billede webmasterdk Praktikant
21. juni 2001 - 10:01 #1
Avatar billede NanoQ Nybegynder
21. juni 2001 - 10:02 #2
Find alt om Javascript her: http://javascript.internet.com/

NanoQ
Avatar billede nikolajdu Nybegynder
21. juni 2001 - 10:13 #3
document.all IE 4.0
document.layers - Netscape 4.x
document.getElemenById - Netscape 6.0 og IE.5.5
Avatar billede the_nest Nybegynder
21. juni 2001 - 10:16 #4
Mange tak :)

nikolajdu hvis du vil have dine 10 point så skriv et svar istædet :)
Avatar billede nikolajdu Nybegynder
21. juni 2001 - 10:19 #5
bøh :-)
Avatar billede nikolajdu Nybegynder
21. juni 2001 - 10:20 #6
Det skal så også lige rettes til

document.getElementById - Netscape 6.0 og IE.5.5
Avatar billede the_nest Nybegynder
21. juni 2001 - 10:21 #7
Det er nogle fine sider hvis man vil copy paste, jeg mente nu en side hvor man kan se en forklaring på syntaksen på indbyggede funktionr/komandoer i javaScript.

F.eks. document.all
Avatar billede nikolajdu Nybegynder
21. juni 2001 - 10:21 #8
Jeg plejer at finde min javaSCript reference direkte på Microsoft eller Netscapes sider.

http://developer.netscape.com/docs/manuals/communicator/jsguide4/index.htm
Avatar billede the_nest Nybegynder
21. juni 2001 - 10:24 #9
Tak du have begge svar så du får alle points :)
Avatar billede nikolajdu Nybegynder
21. juni 2001 - 10:28 #10
Det var måske i overkanten. HVis de andre brokker sig fordeler jeg dem videre...
Avatar billede NanoQ Nybegynder
21. juni 2001 - 10:31 #11
Vi brokker os da ikke... vi sidder bare og surmuler lidt ;)

(just kiddin\') ;)

NanoQ
Avatar billede nikolajdu Nybegynder
21. juni 2001 - 10:32 #12
Vi retter lige listen én sidste gang.

document.all IE 4.x/5.0 (IE 5.5. forstår all, men hænger ellers mest ud den nye DOM getElementById)
document.layers - Netscape 4.x
document.getElemenById - Netscape 6.0 og IE.5.5
Avatar billede olebole Juniormester
21. juni 2001 - 11:37 #13
<ole>
Skal vi ikke lige tage den der \'document.all\'-ting ordentligt?  :)

Der er noget, der hedder DOM. Det står for Document Object Model og er den måde, der skal refereres til sidens elementer. Der findes en standard for DOM fra W3C (et konsortium, der standardiserer indenfor klient-side sprog), som både IE og NS er ved at nærme sig.
Til og med version 4.x brugte IE og NS hver sin DOM.

IE havde \'document.all\', som er et array, der indeholder alle sidens elementer. Du kan altså kalde et element - hvis navn er \'Ib\' - med \'document.all[\"Ib\"]\'. Det gælder alle sidens elementer.......billeder, forms, lag, tabeller og deres celler m.m.

NS havde \'document.layers\', som er et array af sidens lag. Du kan kalde et lag - hvis navn er \'Gurli\' - med \'document.layers[\"Gurli\"]\'. Array\'et adskiller sig fra IE4\'s ved KUN at indholde lag. Du kan derfor i NS4.x ikke kalde f.eks. en tabelcelle.

I W3C\'s standardisererde DOM (IE5+ og NS6+...samt Opera) findes disse array\'s ikke (direkte).
Du kan her kalde det enkelte element direkte ved \'document.getElementById(\"Konrad\")\', hvis det pågældende element har ID\'en \'Konrad\'.
Skal man her bruge f.eks. antallet af lag, kan man ikke som i NS4 sige \'document.layers.length\' - men må sige \'document.getElementsByTagName(\"DIV\")\'. Til gengæld kan man således få antallet af alle elementer af en hvilken som helst type...smaaaaart...!  :)
Man kan også - hvis det skulle ønskes - kalde efter CSS-klasse: \'document.getElementsByClassName\'......................og sådan er der så meget  :o))

\'document.all\' returnerer altså ikke noget, men er et array. Jeg kunne forestille mig, du tænker på et browser-detekt script...(?) Man kan detektere en browsers mærke og version med:

var ns4 = (document.layers)? true: false;  // Hvis browseren forstår parentesen sættes \'ns4\' til true - ellers til \'false\'
var ie4 = (document.all)? true: false;
var dom = (document.getElementBy)? true: false;

Jeg har kun kommenteret første linie....det samme gælder for de andre linier.
Du kan nu spørge:  if (ns4 == \"true\") { alert(\'Dette er en NS4-browser\') }
Hvilket også kan skrives: if (ns4) { alert(\'Dette er en NS4-browser\') }

Håber, det hjalp  :o)
/mvh
</bole>
Avatar billede olebole Juniormester
21. juni 2001 - 11:55 #14
Jeg skrev:
...kan man ikke som i NS4 sige \'document.layers.length\' - men må sige \'document.getElementsByTagName(\"DIV\")\'.

...der burde have stået:
kan man ikke som i NS4 sige \'document.layers.length\' - men må sige \'document.getElementsByTagName(\"DIV\").length\'.

Sorry.....
Avatar billede the_nest Nybegynder
22. juni 2001 - 00:32 #15
mange mange tak, nu er det straks mere logisk :)
Det hjalp mig meget!!!
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