[pure javascript] Vanilla JS equivalents of jQuery methods

Sans jQuery

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…
  })
})

Selectors

// jQuery
var divs = $('div')

// Vanilla
var divs = document.querySelectorAll('div')
// jQuery
var newDiv = $('<div/>')

// Vanilla
var newDiv = document.createElement('div')

Attributes

// jQuery
$('img').filter(':first').attr('alt', 'My image')

// Vanilla
document.querySelector('img').setAttribute('alt', 'My image')

Classes

// jQuery
newDiv.addClass('foo')

// Vanilla
newDiv.classList.add('foo')
// jQuery
newDiv.toggleClass('foo')

// Vanilla
newDiv.classList.toggle('foo')

Manipulation

// jQuery
$('body').append($('<p/>'))

// Vanilla
document.body.appendChild(document.createElement('p'))
// jQuery
var clonedElement = $('#about').clone()

// Vanilla
var clonedElement = document.getElementById('about').cloneNode(true)
// jQuery
$('#wrap').empty()

// Vanilla
var wrap = document.getElementById('wrap')
while(wrap.firstChild) wrap.removeChild(wrap.firstChild)

Transversing

// 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').nextSibling

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))

JSONP

// 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)

More

Here are a few additional references demonstrating vanilla javascript equivalents of jquery methods:

Also, see the two part series showing equivalents for ...

[출처] https://gist.github.com/joyrexus/7307312

 

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
86 [javascript] 압축(Minify) / 난독화(Uglify) 졸리운_곰 2020.07.01 293
85 InnerHTML 사용시 알 수 없는 런타임 오류 졸리운_곰 2020.03.13 505
84 How to Create an addChild() Function in JavaScript file 졸리운_곰 2020.03.09 438
83 JavaScript post request like a form submit 졸리운_곰 2020.03.09 474
» [pure javascript] Vanilla JS equivalents of jQuery methods 졸리운_곰 2020.03.09 374
81 [Javascript] innerHTML 의 함정 졸리운_곰 2020.03.08 374
80 자바스크립트 헬로월드 javascrpt "hello world" file 졸리운_곰 2019.10.06 474
79 Awesome Wasm Awesome file 졸리운_곰 2019.05.18 785
78 이전 페이지의 주소 받기 졸리운_곰 2019.04.11 580
77 ADD/REMOVE CLASSES WITH RAW JAVASCRIPT 19 May 2010 2 min read By Jake Trent In Posts 졸리운_곰 2019.03.24 500
76 Merge and split table cells with JavaScript file 졸리운_곰 2019.03.23 501
75 How can I detect if a selector returns null? 졸리운_곰 2019.03.23 296
74 How do I test for an empty JavaScript object? 졸리운_곰 2019.03.19 617
73 Grouping Array Data — JSON file 졸리운_곰 2019.03.13 359
72 ECMAScript 6: maps and sets 졸리운_곰 2019.03.11 349
71 Comparing a Text Element and a String 졸리운_곰 2019.03.10 320
70 How to check whether a string contains a substring in JavaScript? 졸리운_곰 2019.03.10 366
69 자바스크립트 – 객체안에 값이 있는지 여부 졸리운_곰 2019.03.08 481
68 브라우저 현재 작업창 닫기 졸리운_곰 2019.03.07 478
67 [번역] 자바스크립트 클래스를 정의하는 3가지 방법 (3 ways to define a JavaScript class) 졸리운_곰 2019.03.06 477
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED