Ett Javascriptbibliotek som förenklar DOM-manipulation, event, animeringar och AJAX (ladda in information utan att sidan behöver laddas om)
Alternativ 1: Ladda ner från http://jquery.com och sedan länka i <script src=""> före din .js fil
Alternativ 2: Hämta CDN (finns på http://jquery.com) och sedan länka i <script src=""> före din .js fil
Alternativ 3: npm install jquery
Syntaxen för ett statement är (i de flesta fall) uppdelad i två delar:
Selector (hitta elementet/elementen) + Metod (gör något med selektorn)
Alla jQuery-statements börjar med
$
$(".testDiv").addClass("testClass");
jQuery symbol
Vanilla Javascript
const test = document.querySelector(".testDiv");
test.classList.add("testClass")
$(".testDiv").addClass("testClass");
jQuery
Exempelvis DOM-manipulering - lägga till en klass på ett element
Vanilla Javascript
const button = document.querySelector("button");
const statusDiv = document.querySelector(".status");
button.addEventListener("click", function() {
statusDiv.innerHTML = "<p>Clicked!</p>";
});
$("button").on("click", function() {
$(".status").html("<p>Cliked!</p>");
});
jQuery
jQuery har färdiga och lättanvända funktioner för att animera element, sådant som vi kan göra med CSS transition.
// Ändra html i element .testDiv
$(".testDiv").html("<p>Ny paragraf</p>");
// Ändra text i element .testDiv
$(".testDiv").text("Ändra med bara text");
// Hämtar text i element .testDiv
const text = $(".testDiv").text();
// Hämtar värde i input-ruta
const inputValue = $("input").val();
jQuery har tre metoder för att hantera innehåll: text, html och val
(motsvarande vanilla JS textContent, innerHTML och value)
$('body').append('<footer> Sidfot sist inuti body </footer>');
$('#saveBtn').after('<button>Undo save</button>');
Vi kan manipulera ett elements CSS
$("p").css("background-color", "yellow");
(istället för att lägga till/ta bort en klass som egentligen är en bättre metod)
Vi kan ändra ett elements attribut
$("img").attr("width","500");