1.
Inledning
2. Objekt, objekt och objekt 3. Objektreferenser 4. Övningar Obs! 1. InledningDen här sidan inleder sektionen om dokumentobjekt. För att du skall förstå vad jag menar med denna rubrik tänker jag här berätta lite om de objekt som förekommer i JavaScript. En förutsättning för att du skall förstå vad jag pratar om är att du har läst sidan "Vad är en DOM?". Läs mer > 2. Objekt, objekt och objektNär du läste sidorna i grundkursen stötte du på flera olika objekt. Först och främst de välkända Html-objekten, t.ex <BODY>, <FORM>, <INPUT> och <P>. Sedan fick du också stifta bekantskap med JavaScript-objekten Array, Math, Date och String. Du fick dessutom lära dig hur man skapade nya sådana objekt med nyckelordet "new". Ytterligare en typ av objekt har varit webbläsarens. Till dessa hör dels sådana som syns i själva webbläsarfönstret, t.ex window, document och toolbar. Sedan finns också objekt som inte syns lika tydligt, t.ex history och location. Dessa tre grupper av objekt går att styra med JavaScript, men jag kommer framförallt att fokusera på sådana som har att göra med det som syns på bildskärmen. Sådana kallar jag dokumentobjekt. Termen är inte helt tagen ur luften för de flesta sådana objekt styrs av det som står i en DOM (dokumentobjektsmodell). I en DOM styrs framförallt de objekt som skapas via Html- eller Xml-koden. Dessutom regleras många av webbläsarens objekt. Men inte alla. Det finns t.ex ingen DOM för JavaScript-objekten. Dessutom har olika webbläsare olika varianter av DOM. Det är därför ett script ibland inte fungerar. De försöker då styra objekt som inte ingår i webbläsarens DOM. Hur vet man då vilka objekt som går att styra? Jo, för varje webbläsare finns en ganska tekniskt snårig och svårläst DOM, men den vänder sig främst till utvecklare och riktigt avancerade användare. Alla vi andra får pröva oss fram eller använda scripts som andra gjort. Ytterligare ett sätt att veta hur objekten styrs är ju att lära sig syntaxen och semantiken för JavaScript. Syntaxen är de stavningsregler som finns för programspråket. Semantiken är vad uttrycken kan och får betyda. På de återstående sidorna kommer jag att prata om de olika objekten och hur man styr dem, men för den som verkligen vill veta alla tekniska skillnader och egenheter hos DOM, JavaScript och webbläsarna, får alltså själv söka dessa kunskaper. Förhoppningsvis räcker ändå det jag skriver till med råge! 3. ObjektreferenserEn viktig detalj då man använder JavaScript för att styra dokumentobjekten är att man måste referera till dem på rätt sätt. Det kanske vanligaste sättet är att identitetsmärka dem. Detta görs precis som med stilmallar, med kommandot id. Exempel 1 <script language="JavaScript"> + <body onLoad="HittaElement()"> Titta på exemplet i praktiken >
Exemplet visar hur man använder ett script som letar upp huruvida det finns ett element som är märkt med "Huvudrubrik" eller annat valfritt namn. Huvudobjektet är "document" (här har jag uteslutit "window"), alltså det dokument som öppnas i webbläsaren. Egenskapen all inkluderar alla element i dokumentet. Jag har använt id-attributet för att identitetsmärka den rubrik jag har som huvudrubrik. På ett liknande sätt kan vi också anropa element för att få reda på deras status. Exempel 2 <script language="JavaScript"> Titta på exemplet i praktiken > Här skrivs svaret ut direkt på sidan tack vare metoden write(). Med en liknande metod går det att få ut en lista på alla element i dokumentet. Det fungerar inte överallt, men väl i Internet Explorer: Exempel 3 <script language="JavaScript"> + <body onLoad="ListaElement()"> Titta på exemplet i praktiken > For-loopen betyder att scriptet börjar med det första elementet och stegar sig igenom samtliga element i dokumentet. Efter varje gång for-loopen körts hämtas namnet på varje element med metoden tagName, vilken lagras i variabeln Element. På nästa rad förs detta värde vidare till variabeln Meddelande tillsammans med en radbrytning mellan varje förekomst. Ytterligare ett exempel på hur man använder sig av objektreferenser finns i följande exempel: Exempel 4 <form name="exempel4"> Titta på exemplet i praktiken > Här skrivs scriptet direkt i formulärkoden. I stället för att öppna en alert-ruta kan du pröva att skriva in "document.write". Med metoden select() markeras texten (man måste dock stå inuti textrutan när man klickar på knappen).
I exemplet är window huvudobjektet, medan document är ett underordnat objekt. Formuläret är i sin tur underordnat document och textrutan underordnad formulärobjektet. Däremot är ju metoden select() inget objekt och ingår därför inte i hierarkin. 4. ÖvningarÖvning
1 Övning
2 Övning
3 Övning
4 Övning
5 |