웹 응용 프로그램에서 jQuery를 벗어나는 이유 및 방법
나는 5년의 역사를 가진 웹 응용 프로그램을 연구하기 시작했고, 최근에 우리는 응용 프로그램의 성능을 향상시키기 위해 코드 라이브러리를 수정하기 시작했다.우리는 jQuery를 의존항으로 삭제하는 간단한 방법을 시도했다.
jquery를 사용해야 하는지 선택하는 데 도움을 줄 수 있는 글이 많기 때문에 이 점을 이야기하지 않겠습니다.반대로, 나는 우리 개인이 jQuery를 떠나기로 결정한 이유와 코드 라이브러리에서 일부 jQuery 세션을 Vanilla JS 세션으로 업데이트하는 방법을 언급할 것이다.
왜 우리는 jQuery를 떠나기로 결정했습니까?
다음은 코드 라이브러리에서 자주 사용하는 jQuery 방법입니다.jQuery 팀은 문서에 jQuery 방법의 자바스크립트 대체 방안을 기꺼이 열거하기 때문에 jQuery를 떠나는 것은 큰 도전이 아니다.각 문장에 사용할 수 있는 JavaScript 코드도 제공됩니다.
주의: 이 코드 부분은 우리의 페이지 디자인과 코드 구조에 특정됩니다.그것들은 당신의 코드 라이브러리에 따라 다를 수 있습니다.
선택기
우리는 DOM 요소 참조를 얻기 위해 클래스와 id 선택기를 광범위하게 사용합니다.
// jQuery
let searchBox = $(“.search-box”);
searchBox.on("keydown", () =>{
// do something
});
// JavaScript
// we wanted the event listener only to the first text box anyway
let searchBox = document.getElementsByClassName("search-box")[0];
searchBox.addEventListener("keydown", () => {
// do something
}):
이벤트 핸들
이것에서 이벤트를 이동하는 대신 DOM 요소에 첨부합니다.addEventListener.이전 절의 코드 예시는 어떻게 실현되었습니까?
영향
이것숨기기 및비동기적으로 데이터를 가져와서 렌더링하는 방법은
display: none
및 display: block
입니다.응, 우리가 받아들일 수 있는 균형이 하나 있어. 바로 애니메이션이야.우리는 CSS 애니메이션을 사용할 수 있지만, 처음에 우리는 디스플레이 스타일 속성을 사용하여 숨기거나 표시하기로 결정했다. 왜냐하면 우리는 지금 애니메이션을 사용하지 않을 수 있기 때문이다.용기의 기본 표시 속성은 block
이기 때문에 우리에게 매우 효과적이다.// jQuery
$("#results").hide(500); // to hide
$("#results").show(500); // to show
// JavaScript
document.getElementById("results").style.display = "none" // to hide
document.getElementById("results").style.display = "block" // to show
속성 가져오기 및 설정
// jQuery
$("#result-link").attr("href");
$("#result-link").attr("href", "https://www.google.com");
// JavaScript
document.getElementById("result-link").getAttribute("href");
document.getElementById("result-link").setAttribute("href", "https://www.google.com");
클래스 이름 및 스타일 가져오기 / 설정
// jQuery
$( "#results" ).hasClass( "show" );
$( "#results" ).addClass( "show" );
$( "#results" ).removeClass( "show" );
$( "#results" ).css({top: 0})
// JavaScript
document.getElementById("results").classList.includes("show");
document.getElementById("results").classList.add("show");
document.getElementById("results").classList.remove("show");
document.getElementById("results").style.top = 0;
.준비()
.ready
함수의 JavaScript 버전에서 프로세서 DOMContentLoaded를 DOM 요소에 추가하고 있습니다.StackOverflow에 대해 깊은 답이 하나 있지만, 이것은 우리의 최초의 해결 방법이다.// jQuery
$(document).ready(function() {
// Handler for .ready() called
});
// JavaScript
document.addEventListener("DOMContentLoaded", function() {
// Handler for DOMContentLoaded
});
비록 jQuery 문법은 간단하고 간단해 보이지만, 우리는 소형화기가 있는 세계에서 생활한다. 이런 소형화기들은 자바스크립트를 사용하여 클라이언트 기계에 추가 바이트를 납품하지 않을 것을 확보할 것이다.내 말은 초보 웹 개발자는 아마추어 단계에서 적어도 한 번은 jQuery를 봐야 한다는 것이다.이것은 제가 자바스크립트의 개념적 지식을 많이 얻을 수 있도록 도와줍니다. 예를 들어 이벤트 귀속/귀속 해제, DOM 해석 등입니다. 만약에 Angular, React 또는 Vue 등 현대 프레임워크를 사용한다면 개발자의 편의성과 크로스 브라우저 호환성이 존재하기 때문에 응용 프로그램에 jQuery를 포함하는 범위가 비교적 작습니다.
jQuery를 사용할지 안 사용할지 결정하려면 몇 개의 글을 읽을 수 있습니다
Reference
이 문제에 관하여(웹 응용 프로그램에서 jQuery를 벗어나는 이유 및 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/devcer/why-and-how-i-moved-away-from-jquery-in-my-web-application-2of2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)