jQuery 1.4 공식 발표: 새로운 변경 사항 확인

26685 단어 jquery
제이큐리의 4주년 생일을 축하하기 위해 jQuery 공식 팀공식 발표은 제이큐리의 1.4 버전을 발표했다.이 버전에서 jQuery 공식 팀은 대량의 인코딩, 테스트와 문서 작업을 했고 이전 버전에 비해 자연히 많이 개선되었다. 우리 함께 새로운 변화가 있는지 살펴보자.본고는 상하 두 편으로 나뉘는데 상편은 주로 jQuery 1.4 버전의 관련 사용과 업데이트를 전체적으로 소개하고 하편은 일부 코드 예시를 통해 업데이트의 방법과 새로 추가된 방법을 보여준다.[다운로드 및 호출] 이전과 같이 정부에서 jQuery의 두 개의 복사본을 제공했는데 하나는 압축버전Google Closure Compiler을 사용하고 이전에는 YUI를 사용했으며 다른 하나는 압축버전(디버깅과 읽기에 사용)이다.
jQuery 압축 버전(23kb, gzip 압축 후)jQuery 압축되지 않은 버전 (154kb)
박식하다 이전에 제의한 적이 있다구글 서버를 통해 jQuery를 로드하여 로드 속도 향상.현재 Google은 압축된 jQuery 1.4 버전 파일을 Google 서버에서 호출할 수 있습니다.
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js" type="text/javascript"><!--mce:0--></script>

[새로운 특성 및 변화] jQuery 1.4에서 자주 사용하는 jQuery 방법을 다시 썼는데 이런 개선은 사용하기 쉬울 뿐만 아니라 성능의 현저한 향상을 가져왔다.주: 다음은 개술이고, 불분명한 점은 다음 편의 코드 해석을 참조하시오.
일부 방법에 설정 함수(Setter Functions)를 추가할 수 있습니다. 이전 버전에서attr() 방법에 함수를 입력하고 함수의 반환 값을 속성에 부여할 수 있습니다.1.4에서 이 기능은 더 많은 방법에 추가되었다.css()、 .attr()、 .val()、 .html()、 .text()、 .append()、.prepend()、 .before()、 .after()、.replaceWith(), .wrap()、 .wrapInner()、 .offset()、 .addClass()、 .removeClass()、 .toggleClass().또한 다음 방법에서는 현재 값을 설정 함수의 두 번째 매개변수로 가져와 설정 함수에 사용할 수 있습니다.css()、.attr()、.val()、.html()、.text()、.append()、.prepend()、.offset()、.addClass()、.removeClass(), 및.toggleClass().예를 들면 다음과 같습니다.
jQuery('<img src="enter.png" alt="enter your name" />')

.attr("alt", function(index, value) {

    return "Please, " + value;

});


jQuery에서 서열화의 핵심 방법jQuery.param()을 업데이트했습니다. 이전에 {foo: ['bar','baz']}을 서열화한 결과는'foo=bar&foo=baz'였습니다. 지금은'foo[]=bar&foo[]=bar=baz'입니다.이러한 변경의 목적은 주로 수신자에게 전송된 것이 하나의 수조 대상이라는 것을 알리는 것이다.
jQuery.ajax에서 데이터타입 속성을 지정하지 않을 때response의 콘텐츠-type에 따라 자동으로 식별됩니다.예를 들어:ajax가 요청한 대상이 json 형식 (응용 프로그램/json) 이면 데이터 타입이 자동으로 'json' 으로 지정됩니다. (지정하지 않은 경우)
jQuery.ajax 요청에 Etag 지원을 추가합니다.이전에 jQuery는 aax 요청에서 헤더에서 If-None-Match 값을 보내지 않았고, 기본적으로 브라우저 캐시를 무시했습니다.ifModified 속성을 지정하여 열 수 있습니다.알림: httpheader에 대한 지식을 모르시면 읽으세요이 글.
네이티브 JSON을 사용합니다.parse, json에 대한 엄격한 해석은 1.3 및 이전 버전에서 jQuery는javascript의 eval 방법을 통해 json 대상을 해석합니다.1.4에서 브라우저를 지원하면 원래의 JSON을 사용합니다.parse에서 json 대상 해석을 진행하면 json 대상의 쓰기 검증이 더욱 엄격해진다.예를 들어 {foo: "bar"}의 쓰기는 합법적인 json 대상으로 검증되지 않을 것이며, 반드시 {"foo": "bar"}로 써야 한다.만약 당신의 프로그램이 1.4 버전으로 업그레이드하려고 한다면, 이 점은 특히 주의해야 한다.
.serialize()를 서열화할 때 HTML5 요소에 대한 지원 추가aax에 상하문 지원 추가 요청, 참조 jQuery.ajax()
jQuery.ajax({

    url: "test.html",

    context: document.body,

    success: function(){

        jQuery(this).addClass("done");

    }

});


jQuery.ajax() 요청 시 XMLHttpRequest 대상을 success의 세 번째 인자로 수신aax가 요청할 때 항상 Content-Type 속성을 1.3 버전으로 설정하고, aax가 보낸 데이터가 비어 있을 때 Content-Type 속성 값을 보내지 않으며, 1.4에서는 항상 현식으로 Content-Type 값을 설정합니다.이는 일부 프로그램 백엔드에서 Content-Type 값을 사용하여 응답 방법을 판단하기 때문입니다.
jsonp 방식으로 aax 요청을 할 때, 콜백의 이름을 현식으로 지정할 수 있습니다. 이전 jsonp의 콜백 이름은 jQuery에서 생성한 무작위 이름입니다. 현재 jsonp Callback 파라미터를 통해 현식으로 지정할 수 있습니다. 일부 CSS 관련 메서드는 다시 작성됩니다.그 중에서는..css() 방법의 효율이 두 배로 향상되었습니다.addClass()、.removeClass() 및.hasClass () 효율이 세 배로 향상되었습니다.toggleClass () 방법은 한 번에 여러 개의class를 전환할 수 있습니다
$("div").toggleClass("current active");


jQuery 1.4에서 많은dom 조작 관련 방법이 성능을 대폭 향상시켰다.append()、 .prepend()、.before(), 및.after ()의 성능이 개선되었습니다.html()의 성능이 3배 가까이 향상되었습니다.remove() 및.empty()의 성능이 4배 가까이 향상되었습니다.
jQuery ("tag") 의 효율이 향상되었습니다. tag 이름을 불러와서 찾을 때 검색 알고리즘이 개선되었습니다.
id로 시작하는 선택기로 원소를 얻는 속도가 jQuery('#idp')와 같이 id로 시작하는 선택기로 원소를 얻는 속도가 최적화되고 속도가 가장 빠르다.
jQuery () (또는 $()) 는 jQuery 빈 대상을 이전에 jQuery () 를 호출했을 때, 기본적으로 문서의 jQuery 대상을 되돌려줍니다. 즉, jQuery ('document' 와 같습니다.1.4 릴리즈에서는 이러한 변환이 더 이상 수행되지 않으며 jQuery 빈 객체로 돌아갑니다.1.4에서 이전 jQuery().ready () 의 쓰기는 사용을 권장하지 않습니다. (비록 사용할 수 있지만) jQuery (document) 를 써야 합니다.ready () 또는 jQuery (function () {} 새 이벤트가 추가되었습니다.focusin () 및.focusout().focusin () 및.focusout () 방법은 focus ()와blur () 방법과 같고, 이벤트 거품을 지원합니다.주의해야 할 것은focus ()와blur () 이벤트는live () 방법으로 귀속할 수 없습니다.
거의 모든 이벤트가 live () 귀속을 지원합니다.ready,focus (focusin으로 대체),blur (focusout으로 대체) 이벤트를 제외한 모든 이벤트는 live 귀속을 지원합니다 jQuery 1.4 내부 구조를 재구성하고 코드 스타일 규범을 구축하기 전의core.js는attribute로 구분됩니다.js, css.js, data.js, manipulation.js, traversing.js와queue.js.ready 이벤트가 core로 이동됩니다.js에서.jQuery 1.4가 구축코드 스타일 사양되었고 대부분의 핵심 코드가 이 규범에 부합된다.비록 이 규범은 몇 가지밖에 없지만, 나는 이것이 좋은 시작이라고 믿는다.
[관련 테스트] jQuery 1.4에서 해결207개의 버그(그에 비해 1.3은 97개의 버그를 해결했다).이 밖에 테스트 용례는 1.3.2의 1504개에서 1.4버전의 3060개 증가했다.이러한 테스트는 100% 현재 주요 브라우저(Safari 3.2, Safari 4, Firefox 2, Firefox 3, Firefox 3.5, IE 6, IE 7, IE 8, Opera 10.10, Chrome)를 통과했다.[버전 호환성 처리] 위에서 볼 수 있듯이 1.4는 상당히 많은 업데이트를 했다. 현재 버전의 호환성을 확보하기 위해 (즉, 당신이 이전에 jQuery 1.3 버전의 프로그램을 사용하여 1.4 버전으로 안정적으로 이행하기를 바란다) 정부는 특별히 호환성 스크립트 패치를 제공했다. 다음과 같이 사용한다.
     <script src="http://code.jquery.com/jquery.js"></script>

     <script src="http://code.jquery.com/jquery.compat-1.3.js"></script>

주: 상기 내용은 jQuery 공식 문서를 근거로 작성하였으며, 더욱 상세한 내용은 공식 설명 페이지를 직접 방문할 수 있습니다.

좋은 웹페이지 즐겨찾기