Byebye jQuery
jQuery Funktionen in vanilla JavaScript abilden
Events
// jQuery
$(document).ready(function() {
// code
})
// Vanilla
document.addEventListener('DOMContentLoaded', function() {
// code
})
// jQuery
$('a').click(function() {
// code…
})
// Vanilla
[].forEach.call(document.querySelectorAll('a'), function(el) {
el.addEventListener('click', function() {
// code…
})
})
Selektoren
// jQuery
var divs = $('div');
var newDiv = $('< div/>');
// Vanilla
var divs = document.querySelectorAll('div');
var newDiv = document.createElement('div');
Attribute
// jQuery
$('img').filter(':first').attr('alt', 'Mein Bild')
// Vanilla
document.querySelector('img').setAttribute('alt', 'Mein Bild')
Klassen
// jQuery
newDiv.addClass('foo')
newDiv.toggleClass('bar')
// Vanilla
newDiv.classList.add('foo')
newDiv.classList.toggle('bar')
Daten-Manipulationen
// jQuery
$('body').append($('< p/>'));
var clonedElement = $('#about').clone();
// Vanilla
document.body.appendChild(document.createElement('p'));
var clonedElement = document.getElementById('about').cloneNode(true)
// jQuery
$('#wrap').empty()
// Vanilla
var wrap = document.getElementById('wrap')
while(wrap.firstChild) wrap.removeChild(wrap.firstChild)
DOM Elemente
// jQuery
var parent = $('#about').parent()
// Vanilla
var parent = document.getElementById('about').parentNode
// jQuery
if($('#wrap').is(':empty'))
// Vanilla
if(!document.getElementById('wrap').hasChildNodes())
// jQuery
var nextElement = $('#wrap').next()
// Vanilla
var nextElement = document.getElementById('wrap').nextElementSibling
AJAX
GET
// jQuery
$.get('//example.com', function (data) {
// code
})
// Vanilla
var httpRequest = new XMLHttpRequest()
httpRequest.onreadystatechange = function (data) {
// code
}
httpRequest.open('GET', url)
httpRequest.send()
POST
// jQuery
$.post('//example.com', { username: username }, function (data) {
// code
})
// Vanilla
var httpRequest = new XMLHttpRequest()
httpRequest.onreadystatechange = function (data) {
// code
}
httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
httpRequest.open('POST', url)
httpRequest.send('username=' + encodeURIComponent(username))
JSON
// jQuery
$.getJSON('//openexchangerates.org/latest.json?callback=?', function (data) {
// code
})
// Vanilla
function success(data) {
// code
}
var scr = document.createElement('script')
scr.src = '//openexchangerates.org/latest.json?callback=formatCurrency'
document.body.appendChild(scr)