Når du skriver at det er objektet der bliver returneret, mener du så drop/down listen? Mener at have læst at en drop/down liste svarer til et "select" objekt. Så det er vel et select object som getElementById returnere.
det var lige et eksempel :o) Du skal vide at du får referencen til dit objeckt. Dvs du får referencen til det første objeckt i dit dokument som har det givne id. Hvis du har flere med samme id får du altså kun det første Du får den type som det er Hvis det er en <select> så får du en select Hvis det er en <td> så får du en td osv
Hvis du er rimelig ny så vil jeg anbefale dig at kigge på www.w3schools.com generelt... der er mange gode eksempler og forklaringer og det er lige til at gå til også tag for tag
det kommer jo an på hvad man mener med drop/down liste. Det mest korrekte vil nok være at sige selectobject eller noget i den stil. En dropdown liste kunne jo også være en dropdownmenu. Men herinde bliver dropdown liste typisk tolket som et selectobject ;-)
http://www.w3schools.com/tags/tag_select.asp citat "The select element creates a drop-down list." Det er det eneste indbyggede tag i html som har den funktion Ja du kan lave dine egne med <div>´s som ligger under hinanden eller andet spads...men så kan man jo tolke så meget på så mange måder ;o)
Man kan så sige at <select> laver en liste over emner der kan "selectes" afhængig af dens size er der så ikke så meget "drop/down" over den. Og den kan også laves som multibel select
-- jeg har da mange gange brugt en andens id, falske kørekort, aflevere oplysninger om en anden i en trafikkontrol eller ved et check i toget er vel helt iorden ?-(
thesurfer >> var du stiv inat? ;o) Jeg har ikke prøvet een eneste browser som har stoppet op og sagt "det er politiet her er et ulovligt id"... Ergo konstaterede jeg blot at hvis man har flere med samme id så tager den det første den støder på
det kan godt være browserne bare returnerer det første element med den givne id. Det giver jo også meget mening istedet for at den skal rode hele siden igennem og brokke sig højlydt hvis der er flere elementer med samme id.
Men ulovligt er det da - og fy skamme hvis nogen kunne finde på at gøre sådan noget fælt noget =8-0
så må vi hellere sende w3c politet efter dem som gør sådanne ulovligheder :p Ville bare pointerer hvad der skete hvis man havde flere elementer med samme id..det var alt
Den diskussion kørte vist lidt af sporet? getElementById returnerer en pegepind til det element, der har den pågældende ID. ID'et er det ID, du selv definerer, fx. <input type="text" id="mitfelt" value="Hello world">. Du kan sætte en variabel lig med returværdien fra getElementById og derefter bruge den variabel, når vil foretage et eller andet med elementet. Har du fx. et indtastningsfelt, skal du normalt referere til med en lang tegnstreng som document.all.minformular.mitfelt.
Vil du vise indholdet af tekstfeltet, kan du skrive:
alert (document.all.minformular.mitfelt.value);
Med getElementById ser det sådan ud:
var tekstfelt = document.all.minformular.mitfelt; alert (tekstfelt.value);
nu synes jeg ikke vi skal blande document.all ind i det her. Det er et IE påfund, som kun har det til fælles med document.getElementById, at de gør det samme ;-)
getElementById er den officielle måde, at få adgang til et element med en given Id (deraf navnet) og den metode er klart at foretrække da den virker i både Mozilla, Opera og IE (document.all er IE only - dog også understøttet af Opera og IE-lignende browsere).
Så dit eksempel skal egentlig se sådan her ud: var tekstfelt = document.getElementById("mitfelt"); // tekstfelt indeholder nu input-elementet alert(tekstfelt.value);
bare så der ikke var nogen misforståelser.. var kun enig i kargo1 om at diskussionen var løbet af sporet... synes vi har gjort klart hvad det returnerer som spørgeren ønsker bolmer >> Jeg lægger et svar.. så må du sige til hvis der var noget du var i tvivl om
skovenborg >> Jeg er for så vidt enig, men faktisk er der stor forskel på at bruge document.all og document.getElementById :)
document.all. svarer nærmere til document.getElementByTagName("*") ... en samlig af samtlige HTML-elementer på siden. Denne side indeholder ialt 656 HTML-elementer (inden denne kommentar). Lad os nu sige, der er fem af dem, der er udstyret med en ID, så er der pokkers til forskel på at lede i en collection med 5 elementer og et med 656
Nu afslører: java script:a=document.all;x=0;for(i=0;i<a.length;i++){if(a[i].id)x++};alert(x) - i adressebaren på denne side, godt nok den indholder 147 (udaf nu 675) elementer med en ID ... men det er stadig en stor forskel.
Jeg nævner det blot, fordi man ofte hører argumentet: "Jamen, jeg koder til et intranet, hvor der kun bruges IE ... det kan være ligemeget, hvilken DOM, jeg bruger."
ja, det har du jo ret i - checkede lige M$'s DHTML reference :-) Det forklarer nok også bedre hvorfor document.all efter sigende skulle være langsommere end document.getElementById (hvis jeg husker ret).
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.