1. 소개
1.1.개요인터넷에서 WEB2.0과 Ajax 아이디어가 급속히 발전하고 확산되면서 몇몇 우수한 Js 프레임워크가 속속 등장했습니다. 더 유명한 것에는 Prototype, YUI, jQuery, mootools, Bindows 및 국내 JSVM 프레임워크 등이 있습니다. 이러한 JS 프레임워크를 우리 프로젝트에 적용함으로써 프로그래머는 복잡한 JS 애플리케이션을 설계하고 작성하는 것에서 벗어나 기능적 요구 사항에 관심을 돌릴 수 있습니다. 구현 세부 사항보다는 프로젝트 개발 속도를 높입니다.
jQuery는 프로토타입 이후 또 다른 뛰어난 Javascript 프레임워크입니다. 2006년 초 John Resig가 만든 이 제품은 JavaScript™ 및 Ajax 프로그래밍을 단순화하는 데 도움이 됩니다. 어떤 사람들은 프로토타입과 jQuery를 비교하기 위해 이 비유를 사용합니다. 프로토타입은 Java와 같고 jQuery는 Ruby와 같으며 간단하게 문서를 조작하고, 이벤트를 처리하고, 특수 효과를 구현하고 Ajax를 추가할 수 있는 간단하고 빠르며 유연한 JavaScript 프레임워크입니다. 웹페이지와의 상호작용.
다음과 같은 특징을 가지고 있습니다:
1. 간결한 코드, 이해하기 쉬운 의미, 빠른 학습, 풍부한 문서.
2. jQuery는 경량 스크립트이며, 최신 버전의 JavaScript 패키지는 매우 작습니다.
3. jQuery는 기본 xPath뿐만 아니라 CSS1-CSS3도 지원합니다.
4. jQuery는 크로스 브라우저이며 지원하는 브라우저는 IE 6.0, FF 1.5, Safari 2.0, Opera 9.0입니다.
5. jQuery의 다른 기능을 확장하는 것은 쉽습니다.
6. JS 코드와 HTML 코드를 완전히 분리할 수 있어 코딩, 유지 관리 및 수정이 더 쉽습니다.
7. jQuery 자체의 일부 특수 효과 외에도 양식 유효성 검사, 탭 탐색, 드래그 앤 드롭 효과, 테이블 정렬, DataGrid 등 더 많은 기능을 구현할 수 있습니다. , 트리 메뉴, 이미지 특수 효과 및 Ajax 업로드 등. jQuery는 디자이너, 개발자, 운이 좋은 사람들에게 적합하며, 상업용 개발에도 적합하다고 할 수 있습니다. jQuery는 모든 JavaScript 애플리케이션에 적합하며 다양한 웹 애플리케이션에서 사용할 수 있습니다.
공식 사이트:
http://jquery.com/
중국어 사이트: http://jquery.org.cn/
1.2 목적
이 문서를 공부하면 jQuery에 대한 간단한 이해와 JQuery와 다른 JS 프레임워크의 차이점을 이해하고 일반적인 구문과 사용법을 익힐 수 있습니다. jQuery 팁 및 주의사항. 2. 사용방법
JQuery가 필요한 페이지에 JQuery js 파일을 소개하면 됩니다. 예:
이 도입된 후에는 jQuery에서 제공하는 구문을 페이지 어디에서나 사용할 수 있습니다.
3. 학습 튜토리얼 및 참고 자료
"jQuery 중국어 API 매뉴얼" 및
http://jquery.org.cn/visual을 참조하세요. /cn /index.xml두 가지 좋은 jquery 튜토리얼을 추천합니다: "jQuery 시작 튜토리얼" 및 "jQuery를 사용하여 Ajax 개발 단순화"
(참고: 위 문서는
에 있습니다.
[첨부]중)4. 구문 요약 및 주의사항
1.
jquery의 $()를 통한 요소 참조에는 id, 클래스, 요소 이름, 요소의 계층적 관계, dom 또는 xpath 조건 등의 메서드가 포함되며 반환되는 개체는 jquery 개체(컬렉션 개체)이며 dom은 직접 정의된 메소드라고 합니다. 2. jQuery 객체와 dom 객체 간 변환
jquery 객체만 jquery에서 정의한 메서드를 사용할 수 있습니다. dom 객체와 jquery 객체 사이에는 차이점이 있습니다. 메서드를 호출할 때 dom 객체에서 작업하는지 jquery 객체에서 작업하는지 주의해야 합니다. 일반적인 DOM 객체는 일반적으로 $()를 통해 jquery 객체로 변환될 수 있습니다.
예: $(document.getElementById("msg"))는 jquery 객체이며 jquery 메서드를 사용할 수 있습니다.
jquery 객체 자체가 컬렉션이기 때문입니다. 따라서 jquery 객체를 dom 객체로 변환하려면 항목 중 하나를 가져와야 하며 일반적으로 인덱스를 통해 검색할 수 있습니다.
예: $("#msg")[0], $("div").eq(1)[0], $("div").get()[1], $("td " )[5] 이는 dom 개체이므로 dom에서 메서드를 사용할 수 있지만 더 이상 Jquery 메서드를 사용할 수 없습니다.
다음 작성 방법이 정확합니다:
$("#msg").html();
$("#msg")[0].innerHTML;
$("# msg" ).eq(0)[0].innerHTML;
$("#msg").get(0).innerHTML;
3. jQuery에서 특정 항목을 가져오는 방법 collection Item
획득한 요소 집합에 대해 eq
또는
get(n) 메서드나 index를 사용하여 항목(index로 지정)을 얻을 수 있습니다.
eq는 jquery 객체를 반환하는 반면 get(n)과 index는 dom 요소 객체 를 반환한다는 점에 유의해야 합니다. jquery 객체의 경우 jquery 메서드만 사용할 수 있고, dom 객체의 경우 dom 메서드만 사용할 수 있습니다. 예를 들어 세 번째
요소의 내용을 가져오려는 경우입니다.다음 두 가지 방법이 있습니다.
$("div").eq(2).html(); 사용 사용 사용 - > / /Call dom 메소드 속성
4. 함수는 set 및 get을 구현합니다이는 주로 다음을 포함하여 Jquery의 많은 메서드에 적용됩니다.
$(" #msg").html() //요소 노드의 html 콘텐츠를 반환합니다. ID 메시지와 함께.
$("#msg").html("
새 콘텐츠"); //ID가 msg인 HTML 문자열로 "
새 콘텐츠"를 작성합니다. 요소 노드 콘텐츠인 경우 페이지에 굵은 새 콘텐츠가 표시됩니다.
$("#msg").text() //id msg가 있는 요소 노드의 텍스트 콘텐츠를 반환합니다.
$("#msg").text("
새 콘텐츠"); //ID가 msg인 일반 텍스트 문자열로 "
새 콘텐츠"를 작성합니다. 요소 노드 콘텐츠인 경우 페이지에 새 콘텐츠
$("#msg").height(); ~ . #msg").height("300"); //설정 id가 msg인 요소의 높이가 300
$("#msg").width(); //id가 msg인 요소의 너비를 반환합니다.
$("#msg").width(" 300"); //id가 msg인 요소의 너비를 300으로 설정
$("input").val(") // /양식 입력 상자의 값을 반환합니다.
$ ("input").val("test"); //양식 입력 상자의 값을 테스트로 설정
$("#msg") .click() //클릭 이벤트 실행 ID가 msg
$("#msg").click(fn)인 요소; //ID가 msg인 요소의 클릭 이벤트에 대한 함수 추가
마찬가지로 흐림, 초점, 선택 및 제출 이벤트를 사용할 수 있습니다. 모두 두 가지 호출 방법이 있습니다
5. 컬렉션 처리 기능
jquery에서 반환된 컬렉션 콘텐츠의 경우 직접 반복할 필요가 없으며 각 개체가 별도로 처리됩니다. , jquery는 컬렉션 처리를 위한 매우 편리한 방법을 제공했습니다. 에는
$("p").each(function(i){this.style.color. =['#f00 ','#0f0','#00f'][i]})
//각각 인덱스 0, 1, 2를 사용하여 p 요소에 대해 서로 다른 글꼴 색상을 설정합니다.
$("tr ").each(function(i){this.style.groundColor=['#ccc','#fff'][i%2]})
//테이블에서 대체 행 달성 색상 변경 효과
$("p").click(function(){alert($(this).html())}) p 요소를 클릭하면 콘텐츠가 팝업됩니다
6 . 필요한 기능 확장
$.extend({ min: function(a, b){return a max: function(a, b ){return a > b?a:b; }
}); //jquery에 대한 확장된 min 및 max 메서드
확장된 메서드 사용("$.method name"을 통해 호출됨): alert( "a=10,b=20,max=" $.max(10,20) ",min=" $.min(10,20));
7. 지원 방법 연결
소위 연결이란 jquery 객체에 대해 다양한 메서드를 지속적으로 호출할 수 있다는 의미입니다. 예: $("p").click(function(){alert($(this).html())})
.mouseover(function(){alert('마우스 오버 이벤트 ')})
.each(function(i){this.style.color=['#f00','#0f0','#00f'][i]});
8. 요소 스타일 조작
에는 주로 다음 방법이 포함됩니다. $("#msg").css("Background") ("#msg").css(" background","#ccc") //요소의 배경을 회색으로 설정$("#msg").height(300); $("#msg").width("200"); / /너비, 높이 설정
$("#msg").css({ color: "red", background: "blue" });//이름-값 쌍 형식으로 설정 스타일 정의
$("#msg").addClass("select"); //select라는 클래스를 요소에 추가
$("#msg").removeClass("select") // 요소가 포함된 클래스를 삭제합니다. name is select
$("#msg").toggleClass("select"); //존재하는 경우(존재하지 않는 경우) 이름이 select인 클래스를 삭제(추가)
9. 완벽한 이벤트 처리 기능
Jquery는 다양한 이벤트 처리 방법을 제공합니다. html 요소에 직접 이벤트를 작성할 필요는 없지만 jquery를 통해 얻은 객체에 이벤트를 직접 추가할 수 있습니다.
예: $("#msg").click(function(){alert("good")}) //요소에 클릭 이벤트를 추가합니다$("p"). click (function(i){this.style.color=['#f00','#0f0','#00f'][i]})
//세 가지 다른 p 요소 클릭 이벤트를 각각 설정합니다. 다른 처리
jQuery의 여러 사용자 정의 이벤트:
(1)
hover(fn1,fn2): 시뮬레이트된 호버 이벤트(마우스가 객체 안팎의 메서드로 이동함) . 일치하는 요소 위로 마우스를 이동하면 첫 번째로 지정된 기능이 트리거됩니다.마우스가 이 요소 밖으로 이동하면 지정된 두 번째 기능이 트리거됩니다.
//마우스가 테이블 행에 놓였을 때 클래스를 over로 설정하고 나갈 때 out으로 설정하세요.
$("tr").hover(function(){
$(this).addClass("over");
},
.addClass("out");
});
(2)
ready(fn):DOM이 로드되고 쿼리 및 조작 준비가 되었을 때 실행될 함수를 바인딩합니다. $(document).ready(function(){alert("Load Success")})
//페이지가 로드되면 "Load Success" 메시지가 표시됩니다. onload 이벤트와 달리 onload에서는 다음이 필요합니다. 페이지 콘텐츠(그림 등)가 로드되었으며 페이지 HTML 코드가 다운로드되는 즉시 준비가 트리거됩니다. $(fn)
(3)
toggle(evenFn,oddFn)과 동일: 클릭할 때마다 호출되는 함수를 토글합니다. 일치하는 요소를 클릭하면 지정된 첫 번째 기능이 트리거되고 동일한 요소를 다시 클릭하면 지정된 두 번째 기능이 트리거됩니다. 이후 클릭할 때마다 이 두 함수에 대한 호출이 차례로 반복됩니다. //클릭할 때마다 순환에 선택된 이름의 클래스를 추가하고 삭제합니다.
$("p").toggle(function(){
$(this).addClass("selected");
},function(){
$(this).removeClass( "selected");
});
(4)
trigger(eventtype): 일치하는 각 요소에서 특정 유형의 이벤트를 트리거합니다. 예:
$("p").trigger("click"); //모든 p 요소에 대해 클릭 이벤트를 트리거합니다.
(5)
bind(eventtype,fn), unbind( eventtype ): 이벤트 바인딩 및 바인딩 해제 일치하는 각 요소에서 바인딩된 이벤트를 제거(추가)합니다.
예:
$("p").bind("click", function(){alert($(this).text());}) //각 p 요소에 대한 클릭 추가 이벤트
$("p").unbind(); //모든 p 요소에서 모든 이벤트 삭제
$("p").unbind("click") //모든 p 요소에서 모든 단일 이벤트 삭제 event
10. 여러 가지 실용적인 특수효과 기능 그 중 전환()과 슬라이드토글() 메소드는 상태 전환 기능을 제공합니다.
예를 들어 전환() 메서드에는 hide() 및 show() 메서드가 포함됩니다.
slideToggle() 메서드에는 SlideDown() 및 SlideUp 메서드가 포함되어 있습니다.
11. 몇 가지 유용한 jQuery 메서드
$.browser. 브라우저 유형: 브라우저 유형을 감지합니다. 유효한 매개변수: safari, Opera, msie, mozilla. 예를 들어 IE인지 확인하면 $.browser.isie이고, IE 브라우저라면 true를 반환합니다.
$.each(obj, fn): 일반 반복 함수입니다. (루핑 대신) 객체와 배열을 대략적으로 반복하는 데 사용할 수 있습니다. 예를 들어,
$.each( [0,1,2], function(i, n){ Alert( "Item #" i ": " n ); }); :
var tempArr=[0,1,2];
for(var i=0;i Alert("항목 번호" i ": " tempArr[i ]) ;
}은
$.each( { name: "John", lang: "JS" }, function(i, n){ Alert( "Name"과 같은 json 데이터도 처리할 수 있습니다. : " i ", 값: " n ); });
결과는 다음과 같습니다:
이름:name, 값:John
이름:lang, 값:JS
$.extend (target,prop1 ,propN):
하나 이상의 다른 객체로 객체를 확장하고 확장된 객체를 반환합니다. jquery에서 구현한 상속 방식입니다. 예: $.extend(settings, options);
//설정과 옵션을 병합하고 병합된 결과를 설정으로 반환합니다. 이는 옵션이 설정을 상속하고 상속된 결과를 설정에 저장하는 것과 같습니다. .
var settings = $.extend({}, defaults, options);
//기본값과 옵션을 병합하고 기본 콘텐츠를 덮어쓰지 않고 병합된 결과를 설정으로 반환합니다.
여러 매개변수를 가질 수 있습니다(여러 항목을 결합하여 반환)
$.map(array, fn):
배열 매핑. 변환 처리 후 배열의 항목을 새 배열로 저장하고 결과 새 배열을 반환합니다. 예: var tempArr=$.map( [0,1,2], function(i){ return i 4; });
tempArr의 내용은 다음과 같습니다. [4,5, 6]
var tempArr=$.map( [0,1,2], function(i){ return i > 0 ? i 1 : null; });
tempArr 콘텐츠는 [2,3]입니다.
$.merge(arr1,arr2):
두 배열을 병합하고 중복 항목을 삭제합니다. 예: $.merge( [0,1,2], [2,3,4] ) //[0,1,2,3,4] 반환
$.trim( str ):
문자열 양쪽 끝의 공백 문자를 제거합니다. 예: $.trim("안녕, 잘 지내?"); //Return "안녕, 잘 지내?"
12. 클래스 라이브러리는 jQuery와 충돌합니다
요소를 가져오기 위해 $(id) 메서드를 직접 정의하는 경우가 많으며, 프로토타입과 같은 다른 js 라이브러리에서도 이러한 내용을 동시에 정의하면 $method가 정의됩니다. 시간이 지나면 변수 메서드 정의 충돌이 발생하므로 Jquery는 이 문제를 해결하기 위한 특별한 방법을 제공합니다.예: jQuery.noConstrict(); // jQuery 사용 시작
jQuery("div p").hide();
// 다른 라이브러리의 $() 사용
$("content").style.display = 'none';
첨부파일