너는 jQuery 필요 없어(5)
기본 JavaScript로 jQuery가 제공하는 기능과 방법을 간단히 실현
페이지 요소 찾기, 선택
// jQuery
var els = $('.el');
// JavaScript
var els = document.querySelectorAll('.el');
//
var $ = function (el) {
return document.querySelectorAll(el);
}
var els = $('.el');
요소 만들기
// jQuery
var newEl = $('<div/>');
// JavaScript
var newEl = document.createElement('div');
이벤트, 모니터 작업
// jQuery
$('.el').on('event', function() {
});
// JavaScript
[].forEach.call(document.querySelectorAll('.el'), function (el) {
el.addEventListener('event', function() {
}, false);
});
속성 값 설정, 수정 및 가져오기
// jQuery
$('.el').filter(':first').attr('key', 'value');
$('.el').filter(':first').attr('key');
// JavaScript
document.querySelector('.el').setAttribute('key', 'value');
document.querySelector('.el').getAttribute('key');
클래스 작업 추가/수정/삭제/반전
// jQuery
$('.el').addClass('class');
$('.el').removeClass('class');
$('.el').toggleClass('class');
// JavaScript
document.querySelector('.el').classList.add('class');
document.querySelector('.el').classList.remove('class');
document.querySelector('.el').classList.toggle('class');
요소 Append 추가
// jQuery
$('.el').append($('<div/>'));
// JavaScript
document.querySelector('.el').appendChild(document.createElement('div'));
복제, 요소 클론
// jQuery
var clonedEl = $('.el').clone();
// JavaScript
var clonedEl = document.querySelector('.el').cloneNode(true);
요소 삭제
// jQuery
$('.el').remove();
// JavaScript
remove('.el');
function remove(el) {
var toRemove = document.querySelector(el);
toRemove.parentNode.removeChild(toRemove);
}
상위 요소 작업
// jQuery
$('.el').parent();
// JavaScript
document.querySelector('.el').parentNode;
이전/다음/근접 동년배 요소
/ jQuery
$('.el').prev();
$('.el').next();
// JavaScript
document.querySelector('.el').previousElementSibling;
document.querySelector('.el').nextElementSibling;
XHR aka AJAX
새 버전의 자바스크립트 API는 aax를 실현할 수 있는 새로운 API-fetch를 제공합니다. 이api는 새로운 Promise 구조를 채택하여 사용하기에 더욱 편리하고 유연합니다. 상세한 사용법은 을 참고하십시오.
다음은 전통적인 실현 방식이다.
// jQuery
$.get('url', function (data) {
});
$.post('url', {data: data}, function (data) {
});
// JavaScript
// get
var xhr = new XMLHttpRequest();
xhr.open('GET', url);
xhr.onreadystatechange = function (data) {
}
xhr.send();
// post
var xhr = new XMLHttpRequest()
xhr.open('POST', url);
xhr.onreadystatechange = function (data) {
}
xhr.send({data: data});
부인할 수 없다. jQuery는 때때로 프로젝트를 개발할 때 반드시 없어서는 안 된다. 그러나 서로 다른 프로젝트, 서로 다른 장면, 프로젝트의 기술 구조는 모두 서로 다른 고려를 해야 한다. 냉정한 사고를 통해 우리는 jQuery가 필요하지 않고 원생 자바스크립트 기술을 사용하면 오히려 프로젝트가 더욱 간소화되고 효율이 높아진다는 것을 알 수 있다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.