21. juni 2001 - 09:58Der 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 :)
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
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.
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
<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\') }
mange mange tak, nu er det straks mere logisk :) Det hjalp mig meget!!!
Synes godt om
Ny brugerNybegynder
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.