[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

 

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
383 Javascript) innerText vs innerHTML 졸리운_곰 2020.03.13 425
382 InnerHTML 사용시 알 수 없는 런타임 오류 졸리운_곰 2020.03.13 505
381 How to Create an addChild() Function in JavaScript file 졸리운_곰 2020.03.09 438
380 JavaScript post request like a form submit 졸리운_곰 2020.03.09 474
» [pure javascript] Vanilla JS equivalents of jQuery methods 졸리운_곰 2020.03.09 374
378 [Javascript] innerHTML 의 함정 졸리운_곰 2020.03.08 374
377 jQuery append() in Pure Javascript 졸리운_곰 2020.03.08 313
376 python 으로 XE mysql 쿼리로 자동 게시물 등록하기 졸리운_곰 2020.03.03 448
375 HTML 테이블 표 가로 및 세로 합치기 (td tr 병합 방법) file 졸리운_곰 2020.02.27 486
374 [Bootstrap3] Bootstrap 기본 졸리운_곰 2020.02.20 506
373 HTML/CSS기초_drop down 메뉴 만들기 1 file 졸리운_곰 2020.01.11 381
372 Mustache 공유 file 졸리운_곰 2019.12.29 344
371 Mustache 템플릿 문법 수많은 언어에서 지원되는 초간단 템플릿 문법 졸리운_곰 2019.12.29 273
370 HTML/CSS기초_drop down 메뉴 만들기 file 졸리운_곰 2019.12.21 1243
369 Python으로 GraphQL 서버 구현 file 졸리운_곰 2019.12.17 541
368 처음 만나는 GraphQL file 졸리운_곰 2019.12.17 373
367 반응형이란 무엇인가? 졸리운_곰 2019.11.20 449
366 워드프레스 페이지 분석 file 졸리운_곰 2019.11.19 515
365 내가 본 워드프레스 핵심 구조 및 기능 (Wordpress Architecture and Function) file 졸리운_곰 2019.11.19 452
364 웹팩(Webpack) 이란, 웹팩 간단 정리 및 리액트(React) 기본 개발환경 세팅. [2] file 졸리운_곰 2019.11.08 581
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED