John Resig’s jQuery vereenvoudigde JavaScript, loste browserproblemen op en populariseerde patronen die front-end tools jarenlang beïnvloedden. Zo vormde het het web.

Als je rond 2005–2008 een website bouwde, schreef je niet alleen “JavaScript.” Je onderhandelde met browsers.
Een simpele functie—een menu-item markeren, een modal tonen, een formulier valideren, een stukje HTML laden zonder volledige verversing—kon uitgroeien tot een klein onderzoeksproject. Je moest opzoeken welke methode in welke browser bestond, welk event anders werkte, en waarom die ene DOM-aanroep op jouw machine werkte maar voor de helft van je gebruikers brak.
Ontwikkelaars wilden “write once, run everywhere,” maar browserverschillen maakten het eerder “write three times, test everywhere.” Internet Explorer had zijn eigen eigenaardigheden, oudere versies van Firefox en Safari verschilden in randgevallen, en zelfs basisdingen zoals eventafhandeling en DOM-manipulatie konden inconsistent zijn.
Die mismatch verspillde niet alleen tijd—het veranderde wat teams durfden te bouwen. Interactieve UI was mogelijk, maar duur in moeite en kwetsbaar in onderhoud. Veel sites bleven simpeler dan nodig omdat de kosten om het goed te krijgen in alle browsers te hoog waren.
jQuery, gemaakt door John Resig, was belangrijk omdat het zich richtte op de dagelijkse taken: elementen selecteren, reageren op gebruikersacties, de pagina veranderen, kleine overgangen animeren en AJAX-verzoeken doen. Het bood een kleine, leesbare API die browserverschillen egaliseerde zodat je meer tijd aan de functie kon besteden en minder tijd aan het bestrijden van het platform.
In de praktijk maakte het veelvoorkomende interacties eenvoudig en herhaalbaar—iets dat je kon leren, delen en hergebruiken.
Het verhaal is niet alleen dat jQuery tijd bespaarde. Het beïnvloedde hoe ontwikkelaars dachten: chaining van bewerkingen, vertrouwen op beknopte selectors, UI-code organiseren rond events en verwachten dat bibliotheken een consistente “developer experience” bieden. Die gewoonten hebben de tools die volgden gevormd, zelfs nadat webstandaarden waren ingehaald en nieuwere frameworks het overnamen.
Die mentaliteit van “maak het pad dat iedereen neemt gemakkelijk” zie je ook in hedendaagse tooling. Moderne platforms zoals Koder.ai passen hetzelfde developer-experienceprincipe toe op een ander niveau—ze laten teams web-, backend- en mobiele apps bouwen via een chatgestuurde workflow—waar jQuery ooit browsergerichte UI-code benaderbaar maakte.
John Resig probeerde geen beweging te starten toen hij in het midden van de jaren 2000 aan een kleine JavaScript-hulpbibliotheek knutselde. Hij was een werkende ontwikkelaar die dezelfde frictie voelde als iedereen: simpele dingen op het web vergden te veel regels code, braken in verrassende browsers en waren moeilijk uit te leggen aan collega’s.
Resig’s kernmotivatie was duidelijkheid. In plaats van ontwikkelaars tientallen browser-eigenaardigheden te laten onthouden, wilde hij een kleine set commando’s die aansluit bij hoe mensen dachten over pagina’s bouwen: “vind dit element,” “verander dit,” “wanneer de gebruiker klikt, doe dat.” jQuery was niet gebouwd om slim te doen—het was gebouwd om dagelijkse frustratie te verminderen en gewone projecten op tijd te laten opleveren.
Even belangrijk was empathie voor de typische webontwikkelaar. De meeste mensen bouwden geen experimentele demo’s; ze onderhielden marketingpagina’s, admin panels en productpagina’s met deadlines. jQuery’s focus op een compacte, leesbare API weerspiegelde die realiteit.
jQuery verspreidde zich omdat het gemakkelijk te leren en door te geven was. Resig gaf talks en demo’s die directe winst toonden, en het project kreeg snel een reputatie voor goede documentatie en toegankelijke voorbeelden. Dat maakte het verschil: wanneer een tool je helpt een echt probleem in minuten op te lossen, vertel je het aan andere ontwikkelaars.
De vroege community versterkte die lus. Mensen deelden snippets, schreven plugins en rapporteerden randgevallen uit browsers en apparaten die Resig niet alleen kon testen. jQuery groeide in het openbaar, met feedback die bepaalde keuzes simpel hield en andere zaken gladstreek.
Het is verleidelijk jQuery te reduceren tot één “geniale ingeving,” maar het eerlijkere verhaal is volharding en goed oordeel: veelvoorkomende pijn opmerken, ontwerpen voor dagelijkse workflows en vertrouwen opbouwen door consistentie. Resig schreef niet alleen code—hij creëerde een hulpmiddel dat voelde als een vriendelijke snelweg voor hoe het web daadwerkelijk werkte.
Vóór jQuery betekende “simpele” interactieve functionaliteit vaak het aan elkaar plakken van een stapel browser-specifieke trucs. Je kon absoluut rijke interfaces bouwen, maar de kost was tijd, geduld en veel testen.
Tegenwoordig voelt het kiezen van een knop en het veranderen van de tekst als één regel code. Toen was DOM-selectie inconsistent en onhandig. Sommige browsers ondersteunden handige methoden, andere niet, en je eindigde met een mix van getElementById, getElementsByTagName, handmatige lussen en stringchecks om de juiste elementen te targeten.
Zelfs als je wél selecteerde wat je nodig had, moest je vaak extra code schrijven om collecties te verwerken, ze in arrays om te zetten of om vreemde randgevallen heen te werken.
Clickhandlers, toetsindrukken en hover-effecten waren veelvoorkomende eisen—maar browsers waren het oneens over hoe eventbinding werkte en hoe het event-object eruitzag. Code die perfect werkte in de ene browser kon in een andere browser stil falen.
Ontwikkelaars schreven wrappers om eventafhandeling te normaliseren: “Als deze API bestaat, gebruik die; anders val terug op die.” Dat betekende meer code, meer debugwerk en meer manieren waarop bugs konden sluipen.
Asynchrone verzoeken waren mogelijk, maar niet vriendelijk. Het opzetten van een XMLHttpRequest betrof meestal meerdere stappen, vertakkingslogica voor verschillende browsers en zorgvuldige afhandeling van responses.
Een kleine feature—zoals een formulier verzenden zonder paginaverversing—kon uitgroeien tot tientallen regels plus retries, foutafhandeling en browsertesten.
De grootste pijn was niet het éénmaal schrijven van code; het was het werkend houden ervan overal. Teams hadden iets nodig dat betrouwbaar, makkelijk te leren en consistent genoeg was zodat nieuwe ontwikkelaars konden bijdragen zonder een browsercompatibiliteits-checklist te onthouden. jQuery arriveerde als een antwoord op die dagelijkse frictie.
jQuery’s doorbraak was geen nieuwe browsermogelijkheid—het was een nieuwe manier om aan alledaags UI-werk te denken. In plaats van veel browser-specifieke JavaScript te schrijven om een element te vinden, bij te werken en te koppelen, bracht jQuery de routine terug tot een eenvoudig patroon: selecteer iets, en doe er dan iets mee.
Centraal staat de $()-functie. Je geeft een CSS-achtige selector (of een element) door en krijgt een jQuery-object terug—een gebruiksvriendelijke wrapper rond de bijpassende elementen.
Vervolgens roep je methoden aan die klinken als taken: een class toevoegen, een element verbergen, tekst veranderen, een click-handler koppelen. Het doel was niet om elk laagdetail bloot te leggen; het doel was de 80% van UI-klussen te dekken die bijna elke site nodig had.
jQuery moedigde een vloeiende stijl aan waarbij elke stap hetzelfde jQuery-object teruggeeft, zodat je acties kunt “chainen” in één leesbare regel:
$(".notice")
.addClass("active")
.text("Saved!")
.fadeIn();
Zelfs zonder de interne werking te begrijpen, kon je het verhaal lezen: vind notices, markeer ze actief, zet het bericht, toon ze.
Vóór jQuery vroegen ontwikkelaars constant: “Welke methode werkt in deze browser?” of “Heeft deze eigenschap een andere naam in oudere versies?” jQuery antwoordde daarop met een consistente set methoden en voorspelbaar gedrag. Beginners kregen een zachte introductie in JavaScript zonder verdrukt te worden door randgevallen. Professionals kregen snelheid: minder eigen hulpfuncties, minder compatibiliteitstrucs en minder code om te reviewen.
Omdat de API compact was en methoden direct naar UI-intenties mapten, duwde jQuery teams richting scripts die makkelijker scanbaar waren. In plaats van verspreide DOM-aanroepen en tijdelijke variabelen, kon je code lezen als een opeenvolging van UI-acties—waardoor front-end werk meer voelde als het samenstellen van duidelijke stappen dan als het worstelen met de browser.
Een van jQuery’s meest overtuigende trucs was het maken van de eerste stap van elke UI-taak trivial: de juiste elementen selecteren. In plaats van browser-specifieke DOM-methoden en hun eigenaardigheden te onthouden, kon je iets schrijven dat op CSS leek en direct logisch was.
Designers en front-end ontwikkelaars dachten al in selectors: “pak alle .buttons binnen de header,” “target het eerste item,” “vind inputs van een bepaald type.” jQuery maakte dat gedachtepatroon tot een JavaScript-gereedschap:
$(".nav a") om met links in de navigatie te werken$("#signup-form input[type=email]") om een specifiek veld te vinden$("ul li:first") voor snelle “eerste item”-logicaDie leesbaarheid reduceerde de vertaalslag tussen “wat ik wil” en “hoe de DOM wil dat ik het vraag.”
Achter $(selector) zat Sizzle, jQuery’s selector-engine. Vroege browsers waren het niet eens over hoe bepaalde selectors zich moesten gedragen, en sommige ondersteunden niet eens de hele set. Sizzle bood een consistente interpretatie en fallbackgedrag, zodat $(".card \u003e .title") geen browser-loterij werd.
Het resultaat was echte productiviteit: minder conditionele branches, minder “als IE dan…”-workarounds en minder tijd besteden aan debuggen waarom een selector in de ene browser matchte en in de andere niet.
Selectorkracht verborg ook kosten:
Toch was “vind het” makkelijk maken een enorme verschuiving en een grote reden dat jQuery aanvoelde als een superkracht.
Voor veel ontwikkelaars was jQuery geen “bibliotheek”—het was de set dagelijkse gereedschappen die je pakte bij het bouwen van interacties. Het maakte veelvoorkomend UI-werk tot een paar voorspelbare aanroepen, zelfs wanneer browsers het oneens waren over details.
Vóór jQuery kon het koppelen van een click-handler betekenen dat je verschillende eventmodellen en rare randgevallen moest jongleren. jQuery’s .on() (en eerder .bind()/.click()) gaf een consistente manier om naar gebruikersacties te luisteren zoals click, submit en toetsenbordinvoer.
Het maakte ook “voer dit uit als de pagina klaar is” vanzelfsprekend:
$(function () {
// safe to touch the DOM
});
Die ene gewoonte verminderde timing-bugs op typische pagina’s—nooit meer twijfelen of elementen al bestonden.
jQuery’s DOM-API was bewust klein en praktisch. Content bijwerken? .text() of .html(). UI-delen bouwen? ('\u003cdiv\u003e...\u003c/div\u003e') en .append(). Visuele staten? .addClass(), .removeClass() en .toggleClass().
In plaats van verschillen tussen className, attributen en inconsistente nodemethodes te behandelen, konden ontwikkelaars focussen op wat ze wilden veranderen.
Ingebouwde animaties zoals .hide(), .show(), .fadeIn() en .slideToggle() zorgden ervoor dat pagina’s levendig aanvoelden met minimale moeite. Designers hielden ervan, stakeholders merkten het op, en tutorials maakten er vaak gebruik van.
Het nadeel: effecten waren gemakkelijk te veel te gebruiken—te veel fades en slides konden interfaces traag of goedkoop laten aanvoelen. Toch verlaagde jQuery voor typische interacties (menu’s, accordions, meldingen) de drempel om het “af” te laten voelen.
Over events, DOM-wijzigingen en effecten heen was het echte voordeel eenvoud: minder randgevallen in dagelijks werk en een gedeelde set patronen die teams snel konden leren.
Vóór jQuery klonk “AJAX” als een truc: een deel van een pagina bijwerken zonder de hele pagina te herladen. Simpel gezegd stuurt de browser een verzoek op de achtergrond, ontvangt data terug (vaak HTML of JSON) en werkt dan de pagina bij zodat de gebruiker door kan gaan.
XMLHttpRequest naar one-linersDe onderliggende browserfeature was XMLHttpRequest, maar het direct gebruiken ervan betekende veel repetitieve code: het request aanmaken, de status volgen, responses parsen, met browsereigenaardigheden omgaan en randgevallen onthouden.
jQuery verpakte die complexiteit in hulpfuncties die voelden als alledaagse gereedschappen:
$.ajax() voor volledige controle$.get() / $.post() voor eenvoudige verzoeken.load() om HTML op te halen en in een element te injecterenIn plaats van eventhandlers te koppelen, query-strings op te bouwen en response-parsing zelf te doen, kon je focussen op wat de gebruiker daarna zou moeten zien.
Deze patronen werden snel normaal op websites:
Zelfs wanneer de server ouderwets was, liet jQuery de interface responsief aanvoelen.
jQuery maakte verzoeken makkelijk te starten—maar niet altijd makkelijk om correct af te ronden. Veelvoorkomende fouten waren:
De API verlaagde de drempel, maar leerde ook een les die nog steeds geldt: het ‘happy path’ is slechts de helft van het bouwen van een betrouwbare interface.
jQuery was niet alleen een bibliotheek die je downloadde—het was een platform waarop mensen bouwden. “Plugins” waren kleine uitbreidingen die jQuery nieuwe methoden gaven, meestal door functies aan $.fn toe te voegen. Voor ontwikkelaars betekende dat je een feature kon droppen en ermee kon roepen met dezelfde stijl die je al voor alles gebruikte.
De instapdrempel was laag. Als je jQuery kende, begreep je het plugin-patroon al: selecteer elementen, roep een methode aan, geef opties door.
Net zo belangrijk maakten jQuery’s conventies plugins verrassend consistent, zelfs als ze door verschillende auteurs waren geschreven:
$('.menu').dropdown() las als native jQuery.$('.btn').addClass('x').plugin().fadeIn().{ speed: 200, theme: 'dark' }, wat makkelijk te kopiëren en aan te passen was.Plugins bedekten het “missende midden” tussen ruwe DOM-werk en volledige applicatie-frameworks. Veelvoorkomende categorieën waren sliders en carrousels, formulier-validatie, modals en lightboxes, date pickers, autocomplete, tooltips en tabelhulpmiddelen.
Voor veel teams, vooral die op marketingpagina’s of admin-dashboards werkten, veranderden plugins weken werk in een dag van samenstellen.
De plugin-boom had een prijs. Kwaliteit varieerde sterk, documentatie kon dun zijn en het combineren van meerdere plugins leidde soms tot conflicterende CSS of eventhandlers. Afhankelijkheidenspreiding werd ook echt: één feature kon van twee andere plugins afhangen, elk met hun eigen updategeschiedenis. Wanneer auteurs stopten met onderhouden, konden verouderde plugins een project vastzetten op oudere jQuery-versies—of een veiligheids- en stabiliteitsrisico vormen.
jQuery’s kern maakte DOM-werk voorspelbaar, maar teams moesten nog steeds interfaceonderdelen van nul opbouwen. jQuery UI vulde dat gat met een verzameling kant-en-klare componenten—date pickers, dialogs, tabs, sliders, accordions, draggable/sortable gedrag—verpakt zodat ze in verschillende browsers met minimale moeite werkten. Voor kleine teams en bureaus die veel marketingpagina’s of interne tools opleverden, was die “goed genoeg, nu” waarde moeilijk te overtreffen.
De grote winst was niet alleen widgets—het was de combinatie van widgets plus een consistente API en theming. Je kon snel prototypen door een dialoog of autocomplete in te voegen en het “on brand” te laten lijken met ThemeRoller in plaats van markup en CSS voor elk project opnieuw te moeten schrijven. Die herhaalbaarheid maakte jQuery UI meer een praktische toolkit dan een design system.
jQuery Mobile probeerde een ander probleem op te lossen: vroege smartphones hadden inconsistente browsermogelijkheden en beperkte CSS-ondersteuning, en responsive-designconventies waren nog niet vast. Het bood touch-vriendelijke UI-componenten en een “single-page” navigatiemodel met Ajax-pagetransities, met de bedoeling één codebase native-achtig te laten aanvoelen.
Naarmate webstandaarden verbeterden—CSS3, betere mobiele browsers en later native formuliercontrols en layout-primitieven—werden sommige abstracties meer kost dan voordeel. jQuery UI-widgets konden zwaar zijn, lastiger toegankelijk te maken en moeizamer te laten aansluiten op moderne designverwachtingen. jQuery Mobile’s DOM-herschrijf- en navigatiemodel botste ook met latere benaderingen zoals responsive-first layouts en framework-gestuurde routing.
Desondanks bewezen beide projecten een belangrijke gedachte: gedeelde, herbruikbare UI-componenten kunnen het echte werk aanzienlijk versnellen.
jQuery maakte niet alleen browsers fatsoenlijk; het veranderde hoe “normale” front-endcode eruitzag. Teams gingen elke dag JavaScript schrijven, niet alleen voor speciale pagina’s, omdat veelvoorkomende UI-taken ineens voorspelbaar aanvoelden.
Een van jQuery’s grootste culturele verschuivingen was het populair maken van chaining: iets selecteren en er vervolgens meerdere bewerkingen in een leesbare stroom op uitvoeren.
$(".card")
.addClass("active")
.find(".title")
.text("Updated")
.end()
.fadeIn(200);
Die vloeiende stijl beïnvloedde latere bibliotheken en zelfs moderne native API’s. Het duwde ontwikkelaars ook richting kleine, composeerbare bewerkingen in plaats van grote monolithische functies.
jQuery’s helpers—$.each, $.map, $.extend, AJAX-snelkoppelingen—maakten het verleidelijk logica in minder regels te persen. Dat vergrootte de snelheid, maar moedigde ook ‘slimme’ one-liners en impliciet gedrag aan dat moeilijker terug te lezen was maanden later.
Veel codebases eindigden met businesslogica direct in click-handlers omdat het zo makkelijk was “het hier even te doen.” Dat versnelde oplevering, maar vergrootte vaak de lange termijn complexiteit.
Voor componenten en voorspelbare state-modellen gangbaar werden, bewaarde jQuery-software vaak state in de DOM: classes, hidden inputs en data-attributen. Debuggen betekende live HTML inspecteren en door event-callbacks stappen die in verrassende volgordes konden worden geactiveerd.
Unit testing was mogelijk, maar teams vertrouwden vaker op handmatige QA en browser devtools. Problemen waren vaak timing-gerelateerd (animaties, AJAX, event bubbling), wat bugs intermitterend liet aanvoelen.
jQuery-code bleef onderhoudbaar wanneer teams:
Het raakte verward wanneer pagina’s lagen handlers, herhaalde selectors overal en “nog even” tweaks in animatie-callbacks opstapelden. De bibliotheek maakte snel itereren makkelijk; discipline bepaalde of het resultaat goed oud werd.
jQuery verdween niet van de ene op de andere dag en het werd niet minder omdat het slechter werd. Het vervaagde omdat het browserplatform geen vertaler meer nodig had. De problemen die jQuery gladstrijkte—ontbrekende API’s, inconsistent gedrag en onhandige workflows—werden minder algemeen naarmate standaarden rijper werden en browsers convergeerden.
Naarmate de DOM- en JavaScript-API’s gestandaardiseerd werden, kregen veel alledaagse jQuery-aanroepen directe tegenhangers:
document.querySelector() en document.querySelectorAll() dekken veel use-cases die ooit $(...) nodig maakten.addEventListener() werd universeel betrouwbaar en maakte veel event-werk overbodig.fetch() (en later async/await) maakten AJAX-achtige calls native en leesbaar.Wanneer de “native manier” consistent is in browsers, krimpt de reden om op een helperbibliotheek te vertrouwen.
Naarmate webapps groeiden van een paar interactieve widgets naar volwaardige producten, begonnen teams laadtijd en JavaScript-kosten serieuzer te meten. Het meeleveren van jQuery (plus plugins) voor een handvol gemakken werd moeilijker te rechtvaardigen—vooral op mobiele netwerken.
Het was niet dat jQuery traag was; het was dat “nog een dependency” een echte afweging werd. Ontwikkelaars verkozen steeds vaker kleinere, gerichte utilities—or helemaal geen bibliotheek wanneer het platform het al deed.
Single-page application-frameworks verschoven de aandacht van het handmatig prutsen aan de DOM naar het beheren van state en het samenstellen van UI uit componenten. In React/Vue/Angular-denken vraag je meestal niet de pagina “vind dit element en verander het.” Je werkt data bij en de UI rendert opnieuw.
In dat model zijn jQuery’s sterke punten—imperatieve DOM-manipulatie, effecten en ad-hoc event-koppelingen—minder centraal en soms zelfs afgeraden.
jQuery’s missie was het web bruikbaar en consistent maken. Toen browsers inhaalden, werd jQuery minder noodzakelijk—niet minder belangrijk. Veel productie-sites gebruiken het nog steeds, en moderne API’s (en ontwikkelaarverwachtingen) weerspiegelen lessen die jQuery het ecosysteem leerde.
jQuery is niet meer de default keuze voor nieuw front-end werk, maar het draait nog steeds stilletjes een verrassende hoeveelheid van het web—en zijn invloed zit ingebakken in hoe veel ontwikkelaars over JavaScript denken.
Je komt jQuery het vaakst tegen op plekken die stabiliteit boven herschrijven stellen:
Als je een van deze projecten onderhoudt, is de winst voorspelbaarheid: de code is begrijpelijk, goed gedocumenteerd en meestal makkelijk te patchen.
Moderne tools kopieerden jQuery niet één-op-één, maar namen de beste instincten over:
Zelfs vanilla JavaScript’s evolutie (zoals querySelectorAll, classList, fetch en betere eventafhandeling) weerspiegelt de problemen die jQuery voor alledaagse ontwikkelaars oploste.
De grootste les is productdenken: een kleine, consistente API plus uitstekende documentatie kan de manier waarop een hele industrie codeert veranderen.
Het herinnert er ook aan dat “developer experience” compounding is. In jQuery’s tijd betekende DX het verbergen van browser-eigenaardigheden achter een schone API; vandaag kan het ook betekenen dat je het pad van idee naar draaiende software verkort. Dat is deels waarom vibe-coding platforms zoals Koder.ai veel teams aanspreken: in plaats van boilerplate met de hand samen te stellen, kun je itereren in een chatinterface, een React-frontend genereren met een Go + PostgreSQL-backend (of een Flutter mobiele app), en blijven bewegen—met nog steeds de optie om broncode te exporteren als je volledige controle wilt.
jQuery was belangrijk omdat het inconsistente, browser-specifieke DOM-scripting veranderde in een kleine, voorspelbare set hulpmiddelen. Het maakte alledaagse taken—elementen selecteren, events koppelen, de DOM aanpassen, AJAX uitvoeren—herhaalbaar in verschillende browsers, wat de snelheid en het vertrouwen van teams vergrootte.
Voor jQuery liepen ontwikkelaars vaak tegen cross-browser verschillen aan in:
XMLHttpRequest en randgevallen)De belangrijkste kost was niet het éénmaal schrijven van code, maar het betrouwbaar houden ervan in alle browsers.
$() is de kernfunctie: je geeft er een CSS-achtige selector (of een element) aan en krijgt een jQuery-object terug dat de gevonden elementen omsluit. Dat object biedt een consistente set methoden zodat je kunt “vinden, en dan handelen” zonder je druk te maken over browserkwetsbaarheden.
Chaining werkt omdat de meeste jQuery-methoden hetzelfde jQuery-object teruggeven nadat ze een actie uitvoeren. Dat maakt het mogelijk een reeks UI-operaties in één leesbare stroom uit te drukken (selecteren → aanpassen → animeren) met minder tijdelijke variabelen.
Sizzle is de selector-engine achter $(selector). Het leverde consistente selector-gedragingen en bredere ondersteuning in een tijd dat browsers verschilden in wat ze ondersteunden en hoe ze randgevallen interpreteerden.
jQuery normaliseerde veelvoorkomende event-taken zodat je geen browser-specifieke vertakkingen hoefde te schrijven. Het populariseerde ook handige patronen zoals code uitvoeren wanneer de DOM klaar is:
$(function () {
// safe to touch the DOM
});
Dat verminderde timing-gerelateerde bugs op typische pagina’s.
De AJAX-hulpmiddelen van jQuery pakten de repetitieve delen van XMLHttpRequest op en maakten veelvoorkomende gevallen eenvoudig:
$.ajax() voor volledige controle$.get() / $.post() voor eenvoudige verzoeken.load() om HTML in een element te ladenPlugins breidden jQuery uit door methoden toe te voegen (meestal op $.fn) zodat functies als native jQuery-oproepen konden worden gebruikt. Dit maakte het eenvoudig om veelvoorkomende UI-mogelijkheden (modals, validatie, sliders) in te voegen met vertrouwde patronen: selectors + opties-objecten + chaining.
jQuery raakte minder dominant vooral omdat browsers de problemen waar het overheen legde begonnen op te lossen:
querySelector(All) nam veel selector-behoeften overaddEventListener() verminderde event-inconsistentiesfetch() + async/await maakten netwerkcode natuurlijkerBovendien werden performance en bundlegrootte belangrijker: een hele bibliotheek laden voor een paar gemakken werd moeilijker te rechtvaardigen.
Herschrijf niet alleen om het te verwijderen. Een praktische aanpak is:
jQuery is vaak verdedigbaar in legacy-apps, oudere CMS-thema’s/plugins en kleine ‘al op de pagina’-verbeteringen.
Het verlaagde de drempel om interfaces responsiever te maken, maar goede foutafhandeling en gebruikersfeedback bleven noodzakelijk.