24. januar 2005 - 07:00Der er
16 kommentarer og 1 løsning
Hvad gør document.all
Hej eksperter. Jeg har leget med en funktion som kan skjule og vise nogle div bokse. Det er der såmen ingen ben i. Jeg mødte dog det problem at det kun virkede i IE. Så har jeg klippet og klistret og fået en funktion strikket sammen med getelementbyid, og den virker også. Jeg forstår den bare ikke helt. Så nu spørger jeg. Elseif sætningen har efter hvad jeg kan se ingen virkning, det sker ikke nogen synlig ændring ved at udelade den eller ved at tage den med. Hvorfor det, og hvad betyder document.all. Koden ser sådan ud.
er sand hvis funktionen getElementById eksisterer, funktionen kaldes ikke. Browsere uden getElementById eksisterer i dag kun på støvede museer (og måske hos enkelte brugere), og derfor vil du i dine tests aldrig komme ned i else-if-en.
Men skulle der komme en forbi med en lidt ældre IE, så sker det.... ;)
document.getElementById og document.all bruges i princippet til det sammen document.all indhenter blot information fra dokumentet, og henter alle de formularelementer der findes på siden, herefter kan du hente dem ved at bruge document.all("navn"). Med getElementById, laver den blot en forspørgsel på CSS metoden ID altså <span id="t1"></span>...
- så altså document.all er fx. langt mere dynamisk og flexibelt end getElementById...
Mere har jeg egentlig ikke og sige om dette... men prøv at leg lidt med det, det er ret spændende hvad de 2 forskellige komandoer kan ;o)
document.all findes kun i IE, og kode der direkte udnytter document.all er følgelig umådelig forældet, og bør køres på lossepladsen med det samme. Så kan det være ligemeget om det er mere dynamisk ;))
medions >> med al respekt var det en gang vrøvl :)
1. 'all' er et array og skal behandles som sådan - der skal bruges brackets: document.all["navn"].
2. ID er en HTML-attriut og har intet somhelst med CSS at gøre - men man kan også i CSS gøre brug af et elements ID-attribut.
3. document.all er hverken mere fleksibelt eller dynamisk end document.getElementById. Hvad mener du med det?
Både document.all og document.getElementById er det, der kaldes Script-DOM bindinger. De gør at man med script kan adressere elementer i dokumentets DOM.
document.all er noget gammelt, proprietært IE-skrammel, der er gabende langsomt at bruge, idet all-array'et indeholder alle sidens elementer. Man skal altså bladre alle sidens elementer igennem for at finde et enkelt.
document.getElementById er derimod standardiseret af W3C - og er en binding mellem ECMA's script-standard (som JavaScript og JScript bygger på) og W3C's egen standard for DOM ... en såkaldt ECMA-DOM binding. Den har den voldsomme fordel - fremfor brugen af 'all' - at du tilgår elementet direkte i den underliggende datastruktur, uden at skulle bladre rundt i et kæmpe array.
De to er med andre ord komplet forskellige - både hvad angår datastruktur, kompatibillitet og effektivitet :)
Man er idag aldrig i en situation, hvor det er nødvendigt at bruge document.all - og da den performer betydeligt dårligere end document.getElementById (vi taler her *kun* IE), kan der ikke opfindes nogen somhelst god grund til at anvende document.all ... uanset 'kreativitet' ;o)
Nej, medions, selv på et firmanetværk skal man ikke programmere til een browser, fx IE. Det udelukker den fleksibilitet og dynamik, der er i at kunne bruge de rigtige værktøjer til de rigtige opgaver. Firmaer, der har den politik udsætter sig selv for en masse unødig besvær.
Hello my dear, How are you today, I hope all is well with you. I am sorry to worry you with my Proposal for a relationship with you, but I know that you will grant my request in good faith and understanding. I need you in terms of business and advise. My name is Grace Dabah I just went Through your profile have no options than letting you Know that I am interested in having a relationship with you, I will also like to Know you the more, you can send an email to my email address( grace_11dabah@yahoo.com ) so that I can send you more details about my self Including my picture. I believe we can move from here. But bear in mind that Love has no colors barrier, no educational back ground barrier, no socio-economic Barrier, religious, language, nationality or distance barrier, the only important Thing there is love. I am waiting for your mail to my email address above. Yours Sincerely, Miss Grace. grace12.JPG (91KB, 336 x 576)
Hej min kære, Hvordan har du i dag, jeg håber, at alle er godt med dig. Jeg er ked af at bekymre dig med min Forslag til et forhold med dig, men jeg ved, at du vil imødekomme min anmodning i god tro og forståelse. Jeg har brug for dig i forretningsbetingelser og rådgive. Mit navn er Grace Dabah jeg bare gik gennem din profil har ingen andre muligheder end at lade dig vide, at jeg er interesseret i at have et forhold med dig, vil jeg også gerne vide dig mere, kan du sende en mail til min e-mail adresse (grace_11dabah @ yahoo.com), så jeg kan sende dig flere oplysninger om mig selv inklusive mit billede. Jeg tror, vi kan gå herfra. Men huske på, at kærlighed ikke har nogen farver barriere, ingen uddannelsesmæssige tilbage jorden barriere, ingen socio-økonomiske barrierer, religiøse, sprog, nationalitet eller afstand hindring, det eneste vigtige der er kærlighed. Jeg venter på din mail til min e-mail adresse ovenfor. Med venlig hilsen, Miss Grace. grace12.JPG (91KB, 336 x 576)
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.