Vanilla js
Standard javascript (for IE9+ and all other browsers) can match most jQuery.
| jQuery | Vanilla js |
|---|---|
|
Document ready
$(document).ready(function () {
//document is ready
}
//and
$(function(){
//document is ready
});
|
document.addEventListener("DOMContentLoaded", function(){
//
});
|
//by id
$('#myId').onclick(function(e) {});
//by class
$('.myClass').hide();
|
//by id
document.getElementById('myId').addEventListener("click", function() {});
document.querySelector('#myId'); //also works
//by class - first only
document.querySelector('.myClass');
//by class - nodeList
var list = document.querySelectorAll('.myClass');
for ( var i = 0, var len = list.length; i < len; i++ ) {
console.log(list[i]);
}
//pseudo selectors - find which radio checked
var value = document.querySelector('input[name="pick"]:checked').value;
|
//classes
$('#id').addClass('red');
$('#id').removeClass('green');
$('#id').toggleClass('yellow');
|
//IE10+
document.querySelector('#myId').classList.add('red');
document.querySelector('#myId').classList.remove('green');
document.querySelector('#myId').classList.toggle('yellow');
|
//events can be added to a group
$('.allButtons').onclick(function(e) {});
|
//add events individually (or parent)
document.querySelector('#myId').addEventListener('click', function(e) {});
//or parent
var ehandler= function(e) {
var target = event.target;
if (target.hasAttribute('x')) {
e.preventDefault();
//do something
}
};
document.addEventListener('click', ehandler);
|
//using XMLHttpRequest
$.ajax({
url: "/Notifications",
method:"POST",
data: JSON.stringify({ href: location.href}),
contentType: "application/json; charset=utf-8",
success: function (data) {
console.log(data.Count.length);
},
error: function (e, textStatus, errorThrown) {
//500 etc
console.log(e.status + " status text=" +
e.statusText + " error=" + errorThrown);
}
});
|
fetch("/Notifications",
{
method: 'POST',
mode: 'cors',
credentials: 'include', //by default it doesn't send auth cookies...
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ href: location.href }) //matching header
})
//returns a response stream, so turn it into .json()
.then((response) => {
if (!response.ok) {
throw new Error(response.url +
" returned " + response.status);
}
return response.json();
})
.then((json) => {
console.log(json.Count.length);
})
.catch ((e) => {
console.log(e.message);
});
NOT any version of IE! |