jquery 코드를 자바 스크립트로 변환하는 쉬운 방법이 있습니까? [닫은]


142

jQuery 코드를 일반 자바 스크립트로 쉽게 변환 할 수 있습니까? jQuery 소스 코드에 액세스하거나 이해하지 않아도 될 것 같습니다.


8
나는 기본적으로 1 개의 jquery 라인을 10 개의 바닐라 자바 ​​스크립트 라인으로 변환 한 것입니다 ... jquery를 사용할 수없는 경우 ...
davidsleeps

1
스크립트 태그를 사용하여 jQuery를 포함 할 수 없더라도 최소화 된 버전을 소스 파일 앞에 추가 할 수 있습니다. 일종의 기업 정치 외에 jQuery를 사용할 수없는 이유를 알 수 없습니다.
cdmckay 2016 년

23
이것에도 잘 사용되는 것을 볼 수 있습니다. jQuery를 사용하면 자바 스크립트에서 약 10-100 줄 만 사용하십시오. 함수를 다시 컴파일하고 핵심 메소드로 대체하여 대역폭을 절약하므로 jQuery에서 다른 모든 것을로드하지 않습니다.

5
같은 질문이 있습니다. 많은 사람들이 jQuery가 더 단순하다고 대답했지만 이미 JavaScript에 익숙한 개발자는 jQuery의 기호 / 약어를 이해하는 데 약간의 문제가 있습니다. 그리고 묻는 이유는 어떤 이유로 든 jQuery 스크립트가 Blackberry에서 작동하지 않기 때문입니다. Ajax 업로드 스크립트입니다. 따라서 자바 스크립트로 번역해야한다고 생각합니다. (

1
기존 응용 프로그램 내에서 JS-kludge를 만들려고하는데 jQuery를 포함하면 응용 프로그램의 모든 내장 JS 기능이 중단됩니다. 잘못 작성된 앱 (Atlassian의 JIRA)이며 비난을받을 것이라 확신하지만 이것도 동일합니다.
chadoh

답변:


41

가장 쉬운 방법은 일반 DOM API를 사용하여 DOM 순회 및 조작을 수행하는 방법을 배우는 것입니다 (일반 JavaScript라고 함).

그러나 이것은 어떤 일에 고통이 될 수 있습니다. (이것이 라이브러리가 처음에 발명 된 이유입니다).

"javascript DOM traversing / manipulation"에 대한 인터넷 검색은 많은 도움이되는 (그리고 덜 도움이되는) 리소스를 제공해야합니다.

이 웹 사이트의 기사는 꽤 좋습니다 : http://www.htmlgoodies.com/primers/jsp/

그리고 Nosredna가 의견에서 지적한 것처럼 : jQuery는 불일치를 처리하지 않기 때문에 모든 브라우저에서 테스트해야합니다.


4
또한 각 브라우저의 다양한 버전에 대해 테스트해야합니다.
Nosredna 2016 년

1
데스크탑 워크 스테이션 선택이 jQuery 사용에 어떤 영향을 줍니까?
Dan Davies Brackett 2016 년

5
일부 조직에 오픈 소스 라이브러리를 사용하는 정치에 동감합니다. 결국 당신이 평범한 DOM 순회로 재 작성을하는 데에 시간을 투자하고 JS는 회사에 돈을 낭비합니다. 매우 보수적 인 회사를 포함하여 대기업이 jQuery를 사용하는 경우가 있습니다. docs.jquery.com/Sites_Using_jQuery : Oracle, Google, Amazon, Dell, Bank of America, Intuit, Salesforce. 이들은 거의 히피 공산주의 기업입니다. 법률 부서에서 숙제를하고 jQuery를 수락 한 매우 실제적인 회사입니다.
artlung

2
@davidsleeps-jQuery는 Microsoft에 의해 승인되었습니다. Visual Studio 2008에 포함되어 기술적으로 "Microsoft"도구가됩니다. 그렇게하면 고용주가 기분이 나아질 것입니까?
Robert Harvey

4
jquery와 동일한 작업을 수행하기 위해 작성한 Javascript 전체의 차이점은 무엇입니까? 새로운 언어로 코딩하거나 의존성을 추가하는 것과는 다릅니다. 이것은 솔직히 내가 들었던 멍청한 일이며, 자바 스크립트는 허용하지만 jQuery는 허용하지 않습니다. jQuery는 자바 스크립트입니다!
micmcg 2016 년

60

이것은 당신에게 방법의 90 %를 얻을 것이다; )

window.$ = document.querySelectorAll.bind(document)

Ajax의 경우 Fetch API모든 주요 브라우저의 현재 버전에서 지원됩니다 . 를 들어 $.ready(), DOMContentLoaded근처 보편적 인 지원을 . 필요없는 jQuery 는 다른 일반적인 jQuery 함수에 동등한 기본 메소드를 제공합니다.

Zepto 는 비슷한 기능을 제공하지만 무게는 10K입니다. jQuery 및 Zepto에 대한 사용자 정의 Ajax 빌드와 일부 마이크로 프레임 워크 가 있지만 jQuery / Zepto는 견고한 지원을 제공하며 56KB 모뎀에서 10KB는 ~ 1 초에 불과합니다.


22

방금 2012 년 1 월 19 일 Jeffrey Way 에서 jquery를 자바 스크립트로 변환하는 것에 대한 인상적인 튜토리얼을 찾았습니다 *Copyright © 2014 Envato* .

http://net.tutsplus.com/tutorials/javascript-ajax/from-jquery-to-javascript-a-reference/

우리가 좋아하든 없든, jQuery를 통해 점점 더 많은 개발자들이 JavaScript 세계에 소개되고 있습니다. 여러면에서이 새로운 사람들은 운이 좋은 사람들입니다. 그들은 많은 새로운 JavaScript API에 액세스 할 수있어 DOM 탐색 프로세스 (많은 사람들이 jQuery에 의존하는 것)를 훨씬 쉽게 만듭니다. 불행히도, 그들은이 API들에 대해 모른다.

이 기사에서는 다양한 일반적인 jQuery 작업을 수행하여 최신 JavaScript와 레거시 JavaScript로 변환합니다.

나는 OP에 대한 의견으로 제안했으며, 그의 제안 후에 모든 사람들이 언급 할 수있는 답변을 게시했습니다.

또한 Jeffrey Way가 그의 영감 마녀에 대해 언급 한 것은 이해하기에 좋은 입문서 인 것 같습니다 : http://sharedfil.es/js-48hIfQE4XK.html

jQuery와 javascript의이 문서 비교에 티저가 있습니다.

$(document).ready(function() {
  // code…
});

document.addEventListener("DOMContentLoaded", function() {
  // code…
});

$("a").click(function() {
  // code…
})

[].forEach.call(document.querySelectorAll("a"), function(el) {
  el.addEventListener("click", function() {
    // code…
  });
});

한번 봐봐


12

나는 이것이 오래된 스레드라는 것을 알고 있지만 jquery와 동등한 기본 자바 스크립트를 보여주는 훌륭한 리소스가 있으며 ES6 예제도 포함합니다. 이것은이 주제를 다루는 다른 기사에서 찾은 가장 포괄적 인 것입니다.

jQuery에서 Vanilla JS로


6

jQuery 코드를 일반 자바 스크립트로 쉽게 변환 할 수 있습니까?

아니요, 특히 다음과 같은 경우 :

jQuery로 작성된 자바 스크립트 솔루션의 예를 이해하는 것은 어렵다.

JQuery와 모든 프레임 워크는 코드를 이해하기 쉽게 만듭니다. 그것이 이해하기 어려운 경우, 바닐라 자바 ​​스크립트는 고문 될 것입니다 :)


15
다른 사람들은 실제 답변을 가지고 있습니다
ftrotter

2
또한 JQuery는 코드를 더 간결하게 만들지 만 (일반적으로) 실제로 더 쉬운 지 여부는 논쟁의 여지가 있습니다 . jQuery는 일부 코드를 정신적으로 구문 분석하기 어렵게 만들 수 있습니다. 예를 들어, <input onclick="myfunction(this)">myfunction(field){ field.value = "3"; }나 할 수 있습니다 더 의미 이상 <input id='thing'>으로(function ($) { $(thing).click({ $(thing).val("3");});})()
liljoshu

6

jQuery 코드를 표준 JavaScript로 자동 컴파일하는 이유는 원래 게시물과 관련이 없습니다.

16k 또는 gzip으로 축소 된 jQuery 라이브러리가 무엇이든 모바일 브라우저 용 웹 사이트에는 너무 많을 수 있습니다. w3c는 모바일 웹 사이트에 대한 모든 HTTP 요청이 최대 20k가되도록 권장합니다.

모바일 용 w3c 사양

그래서 나는 훌륭하고 간결한 체인 jQuery로 코딩하는 것을 즐깁니다. 그러나 이제는 모바일에 맞게 최적화해야합니다. 실제로 돌아가서 jQuery 라이브러리에서 사용한 모든 도우미 함수를 다시 작성하는 어렵고 지루한 작업을 수행해야합니까? 아니면 다시 컴파일하는 데 도움이되는 편리한 앱이 있습니까?

매우 달콤합니다. 슬프게도, 나는 그런 것이 존재하지 않는다고 생각합니다.


6

1

Jeremy Keith의 저서 " DOM 스크립팅 "은 Javascript 및 DOM 작업에 대한 훌륭한 소개입니다. jQuery 사용 여부에 관계없이 강력히 권장합니다. 아래에서 무슨 일이 일어나고 있는지 아는 것이 좋습니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.