{"id":38523,"date":"2019-10-31T22:24:17","date_gmt":"2019-10-31T19:24:17","guid":{"rendered":"https:\/\/prohoster.info\/blog\/istoriya-i-nasledie-jquery\/"},"modified":"2019-10-31T22:24:17","modified_gmt":"2019-10-31T19:24:17","slug":"istoriya-i-nasledie-jquery","status":"publish","type":"post","link":"https:\/\/prohoster.info\/da\/blog\/news\/istoriya-i-nasledie-jquery","title":{"rendered":"Historien og arven af jQuery","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Historien og arven af jQuery\" src=\"\/wp-content\/uploads\/2019\/10\/beb7b33761181e6b478031cf1b85e6c6.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\njQuery \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/trends.builtwith.com\/javascript\/jQuery\">det mest popul\u00e6re<\/a><\/noindex> JavaScript-bibliotek i verden. Webudvikleres f\u00e6llesskab skabte det i slutningen af 2000'erne, hvilket f\u00f8rte til oprettelsen af et rigt \u00f8kosystem af websteder, plug-ins og rammer, der bruger jQuery under motorhjelmen.<\/p>\n<p>Men i de seneste \u00e5r er dens status som det prim\u00e6re v\u00e6rkt\u00f8j til webudvikling blevet udfordret. Lad os se p\u00e5, hvorfor jQuery blev popul\u00e6rt og hvorfor det er ude af mode, samt i hvilke tilf\u00e6lde det stadig er hensigtsm\u00e6ssigt at bruge til at skabe moderne websteder.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Kort historie om jQuery<\/h2>\n<p>\nJohn Resig (<noindex><a rel=\"nofollow\" href=\"https:\/\/johnresig.com\/\">John Resig<\/a><\/noindex>) skabte den f\u00f8rste version af biblioteket i 2005, og <noindex><a rel=\"nofollow\" href=\"https:\/\/johnresig.com\/blog\/barcampnyc-wrap-up\/\">offentliggjorde det i 2006<\/a><\/noindex>-en p\u00e5 et arrangement kaldet BarCampNYC. P\u00e5 <noindex><a rel=\"nofollow\" href=\"https:\/\/web.archive.org\/web\/20060203025710\/http:\/\/jquery.com\/\">den officielle jQuery-hjemmeside<\/a><\/noindex> skrev forfatteren:<\/p>\n<blockquote><p>jQuery er et Javascript-bibliotek, hvis motto er: At programmere i Javascript skal v\u00e6re sjovt. jQuery tager hyppige, repetitive opgaver, fjerner al un\u00f8dvendig markup og g\u00f8r dem korte, elegante og forst\u00e5elige.<\/p><\/blockquote>\n<p>\njQuery har to hovedfordele. Den f\u00f8rste er et brugervenligt API til manipulation af websider. Is\u00e6r leverer det kraftfulde metoder til valg af elementer. Du kan v\u00e6lge ikke kun efter ID eller klasser, jQuery giver mulighed for at skrive komplekse udtryk, for eksempel til at v\u00e6lge elementer baseret p\u00e5 deres relationer til andre elementer:<\/p>\n<pre><code class=\"javascript\">\/\/ Select every item within the list of people within the contacts element\n$('#contacts ul.people li');<\/code><\/pre>\n<p>\nOver tid blev valgmekanismen til et separat bibliotek <noindex><a rel=\"nofollow\" href=\"https:\/\/sizzlejs.com\/\">Sizzle<\/a><\/noindex>.<\/p>\n<p>Den anden fordel ved biblioteket var, at det abstraherede forskellene mellem browsere. I de dage var det sv\u00e6rt at skrive kode, der kunne fungere p\u00e5lideligt i alle browsere. <\/p>\n<p>Mangel p\u00e5 standardisering bet\u00f8d, at udviklere skulle tage hensyn til mange forskelle mellem browsere og gr\u00e6nsetilf\u00e6lde. Tag et kig p\u00e5 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/daniellmb\/jquery-archive\/blob\/master\/jquery.2006-07-01.js\">denne tidlige kildekode af jQuery<\/a><\/noindex> og s\u00f8g efter jQuery.browser. Her er et af eksemplerne:<\/p>\n<pre><code class=\"javascript\">\/\/ If Mozilla is used\nif ( jQuery.browser == \"mozilla\" || jQuery.browser == \"opera\" ) {\n        \/\/ Use the handy event callback\n        jQuery.event.add( document, \"DOMContentLoaded\", jQuery.ready );\n\n\/\/ If IE is used, use the excellent hack by Matthias Miller\n\/\/ http:\/\/www.outofhanwell.com\/blog\/index.php?title=the_window_onload_problem_revisited\n} else if ( jQuery.browser == \"msie\" ) {\n\n        \/\/ Only works if you document.write() it\n        document.write(\"&lt;scr\" + \"ipt id=__ie_init defer=true \" + \n                \"src=javascript:void(0)&gt;&lt;\/script&gt;\");\n\n        \/\/ Use the defer script hack\n        var script = document.getElementById(\"__ie_init\");\n        script.onreadystatechange = function() {\n                if ( this.readyState == \"complete\" )\n                        jQuery.ready();\n        };\n\n        \/\/ Clear from memory\n        script = null;\n\n\/\/ If Safari  is used\n} else if ( jQuery.browser == \"safari\" ) {\n        \/\/ Continually check to see if the document.readyState is valid\n        jQuery.safariTimer = setInterval(function(){\n                \/\/ loaded and complete are both valid states\n                if ( document.readyState == \"loaded\" || \n                        document.readyState == \"complete\" ) {\n\n                        \/\/ If either one are found, remove the timer\n                        clearInterval( jQuery.safariTimer );\n                        jQuery.safariTimer = null;\n\n                        \/\/ and execute any waiting functions\n                        jQuery.ready();\n                }\n        }, 10);\n}<\/code><\/pre>\n<p>\nOg takket v\u00e6re jQuery kunne udviklere l\u00e6gge bekymringerne om alle disse faldgruber p\u00e5 skuldrene af teamet, der udviklede biblioteket.<\/p>\n<p>Senere lettede jQuery implementeringen af mere komplekse teknologier som animationer og Ajax. Biblioteket blev faktisk en standardafh\u00e6ngighed for websites. Og i dag driver det en enorm del af internettet. W3Techs mener, at <noindex><a rel=\"nofollow\" href=\"https:\/\/w3techs.com\/technologies\/details\/js-jquery\/all\/all\">74 % af hjemmesiderne i dag bruger jQuery<\/a><\/noindex>.<\/p>\n<p>Kontrollen over udviklingen af jQuery blev ogs\u00e5 mere formaliseret. I 2011 skabte teamet <noindex><a rel=\"nofollow\" href=\"https:\/\/blog.jquery.com\/2011\/11\/18\/getting-board-of-jquery\/\">jQuery Board<\/a><\/noindex>. Og i 2012 blev jQuery Board<noindex><a rel=\"nofollow\" href=\"https:\/\/blog.jquery.com\/2012\/03\/06\/announcing-the-jquery-foundation\/\"> til jQuery Foundation<\/a><\/noindex>.<\/p>\n<p>I 2015 fusionerede jQuery Foundation med Dojo Foundation,<noindex><a rel=\"nofollow\" href=\"https:\/\/blog.jquery.com\/2015\/09\/01\/jquery-foundation-and-dojo-foundation-to-merge\/\"> for at skabe JS Foundation<\/a><\/noindex>, som derefter fusionerede med Node.js Foundation i<noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/@nodejs\/introducing-the-openjs-foundation-the-next-phase-of-javascript-ecosystem-growth-d4911b42664f\"> 2019<\/a><\/noindex>-en for at skabe<noindex><a rel=\"nofollow\" href=\"https:\/\/openjsf.org\/\"> OpenJS Foundation<\/a><\/noindex>, hvor jQuery var en af &#171;<noindex><a rel=\"nofollow\" href=\"https:\/\/openjsf.org\/projects\/#impact\">banebrydende projekter<\/a><\/noindex>.&#187;<\/p>\n<h2>Skiftende omst\u00e6ndigheder<\/h2>\n<p>\nMen i de seneste \u00e5r har jQuery <noindex><a rel=\"nofollow\" href=\"https:\/\/trends.google.com\/trends\/explore\/TIMESERIES\/1564319400?hl=en-US&amp;tz=240&amp;date=all&amp;geo=US&amp;q=jquery&amp;sni=3\">mistet sin popularitet<\/a><\/noindex>. GitHub<noindex><a rel=\"nofollow\" href=\"https:\/\/github.blog\/2018-09-06-removing-jquery-from-github-frontend\/\"> fjernede biblioteket fra frontenden p\u00e5 sin hjemmeside<\/a><\/noindex>. Bootstrap v5 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/twbs\/bootstrap\/pull\/23586\">fjerner jQuery<\/a><\/noindex>, fordi det er dens \"<noindex><a rel=\"nofollow\" href=\"https:\/\/blog.getbootstrap.com\/2019\/02\/11\/bootstrap-4-3-0\/\">st\u00f8rste klientafh\u00e6ngighed for almindelig JavaScript<\/a><\/noindex>\" (i \u00f8jeblikket er det 30 kb, minificeret og pakket). Flere tendenser inden for webudvikling har sv\u00e6kket jQuerys position som et n\u00f8dvendigt v\u00e6rkt\u00f8j.<\/p>\n<h3>Browsere<\/h3>\n<p>\nAf flere grunde er forskelle og begr\u00e6nsninger p\u00e5 tv\u00e6rs af browsere blevet mindre vigtige. For det f\u00f8rste er standardiseringen blevet bedre. De vigtigste browserudviklere (Apple, Google, Microsoft og Mozilla) arbejder sammen om at udvikle<noindex><a rel=\"nofollow\" href=\"https:\/\/spec.whatwg.org\/\"> web-standarder<\/a><\/noindex> i rammerne af<noindex><a rel=\"nofollow\" href=\"https:\/\/whatwg.org\/\"> Web Hypertext Application Technology Working Group<\/a><\/noindex>.<br \/>\nSelvom browsere stadig adskiller sig fra hinanden p\u00e5 flere vigtige punkter, har leverand\u00f8rerne i det mindste et middel til at finde og skabe en f\u00e6lles base i stedet for <noindex><a rel=\"nofollow\" href=\"https:\/\/thehistoryoftheweb.com\/browser-wars\/\">en vedvarende krig<\/a><\/noindex> mod hinanden. F\u00f8lgelig har browser-API'er f\u00e5et nye muligheder. For eksempel <noindex><a rel=\"nofollow\" href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/Fetch_API\">Fetch API<\/a><\/noindex> kan erstatte Ajax-funktioner fra jQuery:<\/p>\n<pre><code class=\"javascript\">\/\/ jQuery\n$.getJSON('https:\/\/api.com\/songs.json')\n    .done(function (songs) {\n        console.log(songs);\n    })\n\n\/\/ native\nfetch('https:\/\/api.com\/songs.json')\n    .then(function (response) {\n        return response.json();\n    })\n    .then(function (songs) {\n        console.log(songs);\n    });<\/code><\/pre>\n<p>\nMetoder <noindex><a rel=\"nofollow\" href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/Document\/querySelector\">querySelector<\/a><\/noindex> og<noindex><a rel=\"nofollow\" href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/Document\/querySelectorAll\"> querySelectorAll<\/a><\/noindex> duplikerer udvalgsmetoder fra jQuery:<\/p>\n<pre><code class=\"javascript\">\/\/ jQuery\nconst fooDivs = $('.foo div');\n\n\/\/ native\nconst fooDivs = document.querySelectorAll('.foo div');<\/code><\/pre>\n<p>\nAt manipulere klassernes elementer kan nu g\u00f8res med <noindex><a rel=\"nofollow\" href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/Element\/classList\">classList<\/a><\/noindex>:<\/p>\n<pre><code class=\"javascript\">\/\/ jQuery\n$('#warning').toggleClass('visible');\n\n\/\/ native\ndocument.querySelector('#warning').classList.toggle('visible');<\/code><\/pre>\n<p>\nP\u00e5 hjemmesiden<noindex><a rel=\"nofollow\" href=\"http:\/\/youmightnotneedjquery.com\/\"> Du Har M\u00e5ske Ikke Brug For jQuery<\/a><\/noindex> der er angivet flere situationer, hvor jQuery-kode kan erstattes med native kode. Nogle udviklere holder sig altid til jQuery, fordi de blot ikke kender de nye API'er, men n\u00e5r de opdager dem, begynder de at bruge dette bibliotek mindre.<\/p>\n<p>Brug af native funktioner kan forbedre sidepr\u00e6stationen. Mange <noindex><a rel=\"nofollow\" href=\"https:\/\/api.jquery.com\/category\/effects\/\">animations effekter fra jQuery<\/a><\/noindex> kan nu implementeres<noindex><a rel=\"nofollow\" href=\"https:\/\/dev.opera.com\/articles\/css3-vs-jquery-animations\/\"> meget mere effektivt<\/a><\/noindex> ved hj\u00e6lp af CSS.<\/p>\n<p>Den anden \u00e5rsag er, at browsere opdateres meget hurtigere end tidligere. De fleste bruger <noindex><a rel=\"nofollow\" href=\"https:\/\/www.techopedia.com\/definition\/31094\/evergreen-browser\">\"evergreen\" opdateringsstrategi<\/a><\/noindex>, undtagen Apple Safari. De kan opdateres i baggrunden uden brugerinddragelse og er ikke knyttet til OS-opdateringer.<\/p>\n<p>Dette betyder, at nye funktioner i browsere og fejlrettelser spredes hurtigere, og udviklere beh\u00f8ver ikke at vente p\u00e5, at andelen af <noindex><a rel=\"nofollow\" href=\"https:\/\/caniuse.com\/\">Can I Use<\/a><\/noindex> n\u00e5r et acceptabelt niveau er n\u00e5et. De kan trygt bruge nye funktioner og API'er uden at indl\u00e6se jQuery eller polyfills.<\/p>\n<p>Den tredje grund er, at Internet Explorer er ved at blive helt irrelevant. IE har l\u00e6nge v\u00e6ret en plage for webudvikling verden over. Dens karakteristiske fejl har v\u00e6ret udbredte, og da IE dominerede i 2000'erne og ikke brugte en \"evergreen\" opdateringsstrategi, findes der stadig mange gamle versioner.<\/p>\n<p>I 2016 accelererede Microsoft udfasningen af IE, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.microsoft.com\/en-us\/microsoft-365\/windows\/end-of-ie-support\">ved at stoppe med at underst\u00f8tte<\/a><\/noindex> version 10 og \u00e6ldre, og begr\u00e6nsede sig til at underst\u00f8tte IE 11. Og webudviklere kan i stigende grad tillade sig at ignorere kompatibilitet med IE.<\/p>\n<p>Selv jQuery holdt op med at underst\u00f8tte IE 8 og \u00e6ldre fra <noindex><a rel=\"nofollow\" href=\"https:\/\/blog.jquery.com\/2013\/04\/18\/jquery-2-0-released\/\">version 2.0<\/a><\/noindex>, som blev udgivet i 2013. Selvom der stadig er behov for at st\u00f8tte IE i nogle tilf\u00e6lde, for eksempel p\u00e5 \u00e6ldre websteder, opst\u00e5r disse situationer sj\u00e6ldnere.<\/p>\n<h3>Nye rammer<\/h3>\n<p>\nSiden jQuery's fremkomst er der skabt mange rammer, herunder moderne ledere <noindex><a rel=\"nofollow\" href=\"https:\/\/reactjs.org\/\">React<\/a><\/noindex>,<noindex><a rel=\"nofollow\" href=\"https:\/\/angular.io\/\"> Angular<\/a><\/noindex> og <noindex><a rel=\"nofollow\" href=\"https:\/\/vuejs.org\/\">Vue<\/a><\/noindex>. De har to vigtige fordele i forhold til jQuery.<\/p>\n<p>For det f\u00f8rste g\u00f8r de det nemt at opdele brugergr\u00e6nsefladen i komponenter. Rammerne er designet til at h\u00e5ndtere rendering og opdatering af siden. jQuery bruges normalt kun til opdatering, idet serveren f\u00e5r til opgave at levere den initielle side.<\/p>\n<p>P\u00e5 den anden side g\u00f8r komponenter i React, Angular og Vue det muligt at binde HTML, kode og endda CSS t\u00e6t sammen. Ligesom vi opdeler kodebasen i mange selvst\u00e6ndige funktioner og klasser, g\u00f8r muligheden for at opdele gr\u00e6nsefladen i genanvendelige komponenter det lettere at bygge og vedligeholde komplekse websteder.<\/p>\n<p>Den anden fordel er, at nyere rammer f\u00f8lger den deklarative paradigme, hvori udvikleren beskriver, hvordan gr\u00e6nsefladen skal se ud, mens rammerne selv h\u00e5ndterer alle n\u00f8dvendige \u00e6ndringer for at opn\u00e5 det \u00f8nskede. Denne tilgang er i mods\u00e6tning til den imperativ tilgang, der kendetegner jQuery-kode.<\/p>\n<p>I jQuery angiver du tydeligt de trin, der skal tages for at foretage \u00e6ndringer. Men i en deklarativ ramme siger du: \"If\u00f8lge disse data skal gr\u00e6nsefladen se s\u00e5dan ud.\" Dette kan g\u00f8re kodningen uden fejl meget lettere.<\/p>\n<p>Udviklere har taget nye tilgange til webudvikling i brug, hvilket har medf\u00f8rt, at populariteten af jQuery er faldet.<\/p>\n<h2>Hvorn\u00e5r skal man bruge jQuery?<\/h2>\n<p>\nS\u00e5 hvorn\u00e5r skal man <i>you should <\/i>bruge jQuery?<\/p>\n<p>Hvis projektets kompleksitet stiger, er det bedre at begynde med et andet bibliotek eller framework, der giver mulighed for meningsfuldt at styre kompleksitet. For eksempel at opdele gr\u00e6nsefladen i komponenter. At bruge jQuery p\u00e5 s\u00e5danne websteder i starten kan virke acceptabelt, men det vil hurtigt f\u00f8re til spaghetti-kode, hvor man ikke er sikker p\u00e5, hvilken del der p\u00e5virker hvilken del af siden.<\/p>\n<p>Jeg har v\u00e6ret i en s\u00e5dan situation; n\u00e5r jeg fors\u00f8ger at lave enhver \u00e6ndring, f\u00f8les det som en vanskelig opgave. Man kan ikke v\u00e6re sikker p\u00e5, at man ikke bryder noget, fordi jQuery-selektorer afh\u00e6nger af den HTML-struktur, der er oprettet af serveren.<\/p>\n<p>I den modsatte ende af skalaen er der enkle websteder, der kun kr\u00e6ver lidt interaktivitet eller dynamisk indhold. I s\u00e5danne tilf\u00e6lde ville jeg heller ikke automatisk bruge jQuery, fordi man kan g\u00f8re meget mere med native API'er.<\/p>\n<p>Selv hvis jeg har brug for noget mere kraftfuldt, ville jeg s\u00f8ge efter et specialiseret bibliotek, for eksempel <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/axios\/axios\">axios<\/a><\/noindex> til Ajax eller<noindex><a rel=\"nofollow\" href=\"https:\/\/daneden.github.io\/animate.css\/\"> Animate.css<\/a><\/noindex> til animationer. Det vil v\u00e6re lettere end at indl\u00e6se hele jQuery for en lille funktionalitet.<\/p>\n<p>Jeg mener, det bedste argument for at bruge jQuery er, at det tilbyder omfattende funktionalitet til at arbejde med frontend af et websted. I stedet for at l\u00e6re en r\u00e6kke forskellige native API'er eller specialiserede biblioteker, kan du blot l\u00e6se jQuery-dokumentationen og straks blive produktiv.<\/p>\n<p>Den imperativ tilgang skalerer d\u00e5rligt, men den er lettere at mestre end den deklarative tilgang fra andre biblioteker. For et websted med klart begr\u00e6nsede funktioner er det bedre at anvende jQuery og arbejde afslappet: biblioteket kr\u00e6ver ikke kompleks ops\u00e6tning eller kompilering.<\/p>\n<p>Desuden er jQuery god i tilf\u00e6lde, hvor du er sikker p\u00e5, at webstedet ikke vil blive mere kompliceret over tid, og hvis du ikke bekymrer dig om native funktionalitet, som uden tvivl kr\u00e6ver mere kode end jQuery.<\/p>\n<p>Du kan ogs\u00e5 bruge dette bibliotek, hvis du skal underst\u00f8tte \u00e6ldre versioner af IE. S\u00e5 vil jQuery v\u00e6re til hj\u00e6lp for dig, ligesom dengang IE var den mest popul\u00e6re browser.<\/p>\n<h2>Et blik ind i fremtiden<\/h2>\n<p>\njQuery forsvinder ikke lige forel\u00f8bigt. Det <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/jquery\/jquery\">udvikler sig aktivt<\/a><\/noindex>, og mange udviklere foretr\u00e6kker at bruge dens API, selv n\u00e5r native metoder er tilg\u00e6ngelige. Biblioteket har hjulpet en hel generation af udviklere med at skabe websteder, der fungerer i alle browsere. Og selvom nye biblioteker, rammer og paradigmer i mange henseender har overtaget, har jQuery spillet en enormt positiv rolle i skabelsen af det moderne web.<\/p>\n<p>Hvis jQuery's funktionalitet ikke \u00e6ndrer sig v\u00e6sentligt, er det helt sandsynligt, at brugen af biblioteket vil forts\u00e6tte med at falde langsomt, men st\u00f8t over de n\u00e6ste par \u00e5r. Nye hjemmesider bliver typisk oprettet med mere moderne rammer fra starten, og de passende anvendelsesscenarier for jQuery opst\u00e5r stadig sj\u00e6ldnere.<\/p>\n<p>Nogle mennesker bryder sig ikke om den hurtige for\u00e6ldelse af v\u00e6rkt\u00f8jer til webudvikling, men for mig er det et tegn p\u00e5 hurtig fremgang. jQuery har gjort det muligt for os at g\u00f8re mange ting bedre. Det samme g\u00e6lder for dens efterf\u00f8lgere.<br \/>\n<br \/>Kilde: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/mailru\/blog\/468169\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>jQuery \u2014 \u044d\u0442\u043e \u0441\u0430\u043c\u0430\u044f \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u0430\u044f \u0432 \u043c\u0438\u0440\u0435 JavaScript-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430. \u0421\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e \u0432\u0435\u0431-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u0441\u043e\u0437\u0434\u0430\u043b\u043e \u0435\u0451 \u0432 \u043a\u043e\u043d\u0446\u0435 2000-\u0445, \u0447\u0442\u043e \u043f\u0440\u0438\u0432\u0435\u043b\u043e \u043a \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u0438\u044e \u0431\u043e\u0433\u0430\u0442\u043e\u0439 \u044d\u043a\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441\u0430\u0439\u0442\u043e\u0432, \u043f\u043b\u0430\u0433\u0438\u043d\u043e\u0432 \u0438 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u043e\u0432, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0445 \u043f\u043e\u0434 \u043a\u0430\u043f\u043e\u0442\u043e\u043c jQuery. \u041d\u043e \u0432 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u0433\u043e\u0434\u044b \u0435\u0451 \u0441\u0442\u0430\u0442\u0443\u0441 \u0433\u043b\u0430\u0432\u043d\u043e\u0433\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 \u0434\u043b\u044f \u0432\u0435\u0431-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u043e\u0448\u0430\u0442\u043d\u0443\u043b\u0441\u044f. \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043f\u043e\u0447\u0435\u043c\u0443 jQuery \u0441\u0442\u0430\u043b\u0430 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0439 \u0438 \u043f\u043e\u0447\u0435\u043c\u0443 \u043e\u043d\u0430 \u0432\u044b\u0448\u043b\u0430 \u0438\u0437 \u043c\u043e\u0434\u044b, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0432 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":28907,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-38523","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"jQuery \u2014\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/da\/blog\/news\/istoriya-i-nasledie-jquery\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"da_DK\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0418\u0441\u0442\u043e\u0440\u0438\u044f \u0438 \u043d\u0430\u0441\u043b\u0435\u0434\u0438\u0435 jQuery | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"jQuery \u2014\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/da\/blog\/news\/istoriya-i-nasledie-jquery\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:24:17+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:24:17+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Historie og arv af jQuery | ProHoster","description":"jQuery \u2014","canonical_url":"https:\/\/prohoster.info\/da\/blog\/news\/istoriya-i-nasledie-jquery","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"da_DK","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0418\u0441\u0442\u043e\u0440\u0438\u044f \u0438 \u043d\u0430\u0441\u043b\u0435\u0434\u0438\u0435 jQuery | ProHoster","og:description":"jQuery \u2014","og:url":"https:\/\/prohoster.info\/da\/blog\/news\/istoriya-i-nasledie-jquery","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:24:17+00:00","article:modified_time":"2019-10-31T19:24:17+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"38523","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 22:22:33","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:07:40","updated":"2026-01-23 22:22:33","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/38523","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/comments?post=38523"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/38523\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media\/28907"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media?parent=38523"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/categories?post=38523"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/tags?post=38523"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}