JQuery - DOM och element: Skillnad mellan sidversioner

Från Webbling
Hoppa till: navigering, sök
 
(20 mellanliggande sidversioner av samma användare visas inte)
Rad 1: Rad 1:
En av huvuduppgifterna för [[jQuery]] är att tillhandahålla metoder med vilka vi enkelt kan manipulera [[DOM]]. Därför finns många funktioner för att söka i [[DOM ]] och för att förflytta sig i [[DOM]]-trädet. Det finns även många metoder för att läsa, skriva och förändra innehållet i [[DOM]].  
En av huvuduppgifterna för [[jQuery]] är att tillhandahålla metoder med vilka vi enkelt kan manipulera element. Därför finns många funktioner för att söka ut element ifrån [[DOM ]], för att förflytta sig mellan element i [[DOM]]-trädet och liknande. Det finns även många metoder för att läsa, skriva och förändra innehållet i element.  


== Att söka i [[DOM]] ==
== Att söka i [[DOM]] ==
Vi ska börja med att titta på hur man kan  söka fram och välja ut specifika DOM-noder/element med jQuery. I ett tidigare exempel visade vi hur man kan kalla på [[jQuery]] som en metod och därmed göra en sökning i [[DOM]]. Genom att använda anrop i formen av <code>$(''selektor'')</code> kan man enkelt välja ut ett eller flera element i [[DOM]]. Genom att ange en selektor på samma vis som du anger en selektor i CSS kan du enkelt komma åt just de sektioner av [[DOM]] som du är ute efter.
Vi ska börja med att titta på hur man kan  söka fram och välja ut specifika element ifrån [[DOM]] med hjälp av jQuery. I ett tidigare exempel visade vi hur man kan kalla på [[jQuery]] som en metod och därmed göra en sökning i [[DOM]]. Genom att använda anrop i formen av <code>$(''selektor'')</code> kan man enkelt välja ut ett eller flera element ifrån [[DOM]]. Genom att ange en selektor på samma vis som du anger en selektor i CSS kan du alltså enkelt komma åt just de sektioner av [[DOM]] som du är ute efter.


== Grundläggande sökningar i DOM ==
== Grundläggande sökningar i DOM ==
<div class="well well-meadow">
I alla efterföljande jQuery-exempel, kommer vi att separera HTML, CSS och JavaScript i varsin Codepen-flik och minimera den kod som skulle behövts för att skapa en komplett sida. Detta främst för att kunna urskilja och visa det som är viktigt för exemplet ifråga.
</div>
Precis som i CSS, så finns det ett antal sätt på vilket man kan välja ut information ur [[DOM]]. Grunderna är som följer:
Precis som i CSS, så finns det ett antal sätt på vilket man kan välja ut information ur [[DOM]]. Grunderna är som följer:


=== Söka på element-namn ===
Om du inte sätter något specialtecken först i din selektor, kommer [[jQuery]] att leta efter HTML-element av den typ som din selektorsträng anger.  
Om du inte sätter något specialtecken först i din selektor, kommer [[jQuery]] att leta efter HTML-element av den typ som din selektorsträng anger.  
<codepen pen="GoNWro" tab="js" height="120">
<codepen pen="GoNWro" tab="js,result" height="250">
</codepen>
</codepen>


Om du sätter en <code>.</code> före en sträng i din selektor, kommer [[jQuery]] att leta efter de HTML-element som har den klass du angett.
=== Söka på klassnamn ===
<codepen pen="vLyxxE" tab="js" height="120">
Om du sätter en "<code>.</code>" före en sträng i din selektor, kommer [[jQuery]] att leta efter de HTML-element som har den klass du angett.
<codepen pen="vLyxxE" tab="js,result" height="250">
</codepen>
</codepen>


Om du sätter ett <code>#</code> före en sträng i din selektor, kommer [[jQuery]] att lefta efter det HTML-element som har den ID som du angivit.
=== Söka på ID-namn ===
<codepen pen="gPLmmr" tab="js" height="120">
Om du sätter ett "<code>#</code>" före en sträng i din selektor, kommer [[jQuery]] att lefta efter det HTML-element som har den ID som du angivit.
<codepen pen="gPLmmr" tab="js,result" height="250">
</codepen>
</codepen>


Rad 25: Rad 25:
Självklart kan du, precis som i CSS, kombinera samman flera olika selektorer. Titta på sektionerna om CSS för mer information om olika typer av selektorer som går att använda (t.ex. kan du börja med "[[Introduktion till id och klasser]]").
Självklart kan du, precis som i CSS, kombinera samman flera olika selektorer. Titta på sektionerna om CSS för mer information om olika typer av selektorer som går att använda (t.ex. kan du börja med "[[Introduktion till id och klasser]]").


Låt oss söka ut element som tillhör en av två olika klasser. Vilket vi kan göra med en selektor som använder <code>,</code> för att separera de olika selektorerna.
Låt oss söka ut element som tillhör en av två olika klasser. Detta kan vi göra med en selektor som använder <code>,</code> för att separera de olika selektorerna.
<codepen pen="MKbpmG" tab="js" height="120">
<codepen pen="MKbpmG" tab="js,result" height="250">
</codepen>
</codepen>


Om vi vill komma åt det första elementet av typen <code>p</code> kan vi göra så här:
Om vi vill komma åt det första elementet av typen "<code>p</code>" kan vi göra så här:
<codepen pen="bEBqrW" tab="js" height="120">
<codepen pen="bEBqrW" tab="js,result" height="250">
</codepen>
</codepen>


Som du ser fungerar även mer "avancerade" selektorer utmärkt med [[jQuery]].
Som du ser fungerar även mer "avancerade" selektorer alldeles utmärkt med [[jQuery]].


== Nästa aktivitet ==
== Nästa aktivitet ==
[[Att komma åt innehållet i en DOM-nod]]
[[jQuery - innehåll i element]]
 
[[Category: jQuery|J4]]
[[Category: JavaScript|J4]]

Nuvarande version från 10 februari 2019 kl. 11.30

En av huvuduppgifterna för jQuery är att tillhandahålla metoder med vilka vi enkelt kan manipulera element. Därför finns många funktioner för att söka ut element ifrån DOM , för att förflytta sig mellan element i DOM-trädet och liknande. Det finns även många metoder för att läsa, skriva och förändra innehållet i element.

Att söka i DOM

Vi ska börja med att titta på hur man kan söka fram och välja ut specifika element ifrån DOM med hjälp av jQuery. I ett tidigare exempel visade vi hur man kan kalla på jQuery som en metod och därmed göra en sökning i DOM. Genom att använda anrop i formen av $(selektor) kan man enkelt välja ut ett eller flera element ifrån DOM. Genom att ange en selektor på samma vis som du anger en selektor i CSS kan du alltså enkelt komma åt just de sektioner av DOM som du är ute efter.

Grundläggande sökningar i DOM

Precis som i CSS, så finns det ett antal sätt på vilket man kan välja ut information ur DOM. Grunderna är som följer:

Söka på element-namn

Om du inte sätter något specialtecken först i din selektor, kommer jQuery att leta efter HTML-element av den typ som din selektorsträng anger.

See the Pen GoNWro by Patrik Grip-Jansson (@PGJ) on CodePen.

Söka på klassnamn

Om du sätter en "." före en sträng i din selektor, kommer jQuery att leta efter de HTML-element som har den klass du angett.

See the Pen vLyxxE by Patrik Grip-Jansson (@PGJ) on CodePen.

Söka på ID-namn

Om du sätter ett "#" före en sträng i din selektor, kommer jQuery att lefta efter det HTML-element som har den ID som du angivit.

See the Pen gPLmmr by Patrik Grip-Jansson (@PGJ) on CodePen.

Mer komplexa exempel

Självklart kan du, precis som i CSS, kombinera samman flera olika selektorer. Titta på sektionerna om CSS för mer information om olika typer av selektorer som går att använda (t.ex. kan du börja med "Introduktion till id och klasser").

Låt oss söka ut element som tillhör en av två olika klasser. Detta kan vi göra med en selektor som använder , för att separera de olika selektorerna.

See the Pen MKbpmG by Patrik Grip-Jansson (@PGJ) on CodePen.

Om vi vill komma åt det första elementet av typen "p" kan vi göra så här:

See the Pen bEBqrW by Patrik Grip-Jansson (@PGJ) on CodePen.

Som du ser fungerar även mer "avancerade" selektorer alldeles utmärkt med jQuery.

Nästa aktivitet

jQuery - innehåll i element