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; ).eq(0)[0].innerHTML;
$("#msg").get(0).innerHTML
3. collection Item
획득한 요소 컬렉션의 경우 항목(index로 지정됨)을 얻으려면 eq 또는 get(n) 메서드나 인덱스 번호를 사용할 수 있습니다. eq는 jquery 객체를 반환하고 get을 가져옵니다. (n) 및 index는 dom 요소 객체를 반환합니다. jquery 객체의 경우 jquery 메서드만 사용할 수 있고, dom 객체의 경우 dom 메서드만 사용할 수 있습니다. 예를 들어 세 번째
요소의 내용을 가져오려는 경우입니다. 다음 두 가지 메서드가 있습니다.
$("div").eq(2).html(); //jquery 객체 메서드 호출
$("div").get(2).innerHTML; / /dom 메소드 속성 호출
4. 동일한 함수가 set 및 get을 구현합니다 이는 주로 다음을 포함하여 Jquery의 많은 메소드에 해당됩니다.
$(" #msg").html(); //ID가 msg인 요소 노드의 html 콘텐츠를 반환합니다.
$("#msg").html("
새 콘텐츠"); //ID가 msg인 HTML 문자열로 "
새 콘텐츠"를 작성합니다. 요소 노드 콘텐츠인 경우 페이지에 굵은 새 콘텐츠가 표시됩니다.
$("#msg").text() //id msg가 있는 요소 노드의 텍스트 콘텐츠를 반환합니다.
$("#msg").text("
새 콘텐츠"); //ID가 msg인 일반 텍스트 문자열로 "
새 콘텐츠"를 작성합니다. 요소 노드 콘텐츠, 페이지에 새 콘텐츠가 표시됩니다.
$("#msg").height() //id가 msg인 요소의 높이를 반환합니다
$( " #msg").height("300"); //ID가 msg인 요소의 높이를 300으로 설정합니다.
$("#msg").width(); //ID가 msg인 요소의 너비를 반환합니다. 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을 사용하여 p 요소에 대해 다른 글꼴 색상 설정 및 2개입니다. 🎜>//테이블에서 대체 행 달성 색상 변경 효과
$("p").click(function(){alert($(this).html())})
// 각 p 요소에 대한 클릭 이벤트를 추가했습니다. p 요소를 클릭하면 해당 콘텐츠가 나타납니다.
6. 필요한 기능 확장
$.extend({
min: function(a, b){return a max: function(a, b){return a > b?a:b } }); 및 jquery에 대한 최대 메서드
확장 메서드 사용("$.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("배경","#ccc") //요소의 배경을 회색으로 설정
$("#msg").height(300); #msg").width("200"); //너비와 높이 설정
$("#msg").css({ color: "red", background: "blue" });//설정 이름-값 쌍의 형식 스타일 정의
$("#msg").addClass("select") //요소에 select라는 클래스 추가
$("#msg").removeClass ("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");
},
function(){
$(this) .addClass("out");
});
(2) Ready(fn): DOM이 로드되고 쿼리 및 조작 준비가 되었을 때 실행될 함수를 바인딩합니다.
$(document).ready(function(){alert("Load Success")})
//페이지가 로드되면 onload 이벤트와 동일한 "Load Success" 메시지가 표시됩니다. $(fn)
과 동일 (3)ggle(evenFn,oddFn): 클릭할 때마다 호출되는 함수를 전환합니다. 일치하는 요소를 클릭하면 지정된 첫 번째 기능이 트리거되고 동일한 요소를 다시 클릭하면 지정된 두 번째 기능이 트리거됩니다. 이후 클릭할 때마다 이 두 함수에 대한 호출이 차례로 반복됩니다.
//클릭할 때마다 선택한 이름의 클래스를 추가 및 삭제를 순환합니다.
$("p").toggle(function(){
$(this).addClass("selected");
},function(){
$(this).removeClass( "selected");
});
(4) Trigger(eventtype): 일치하는 각 요소에 대해 특정 유형의 이벤트를 트리거합니다.
예:
$("p").trigger("click"); //모든 p 요소의 클릭 이벤트를 트리거합니다.
(5) 바인딩(eventtype,fn), unbind(eventtype) : 이벤트 바인딩 및 바인딩 해제
는 일치하는 각 요소에서 바인딩된 이벤트를 제거(추가)합니다.
예:
$("p").bind("click", function(){alert($(this).text());}) //각 p 요소에 대한 클릭 추가 이벤트
$("p").unbind(); //모든 p 요소에서 모든 이벤트 삭제
$("p").unbind("click") //모든 p 요소에서 모든 단일 이벤트 삭제 event
10. 다양한 실용적인 특수 효과 기능
toggle() 및 Slidetoggle() 메소드는 상태 전환 기능을 제공합니다.
예를 들어 전환() 메서드에는 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;ialert("항목 번호" i ": " tempArr[ i ]) ; }
은
$.each( { name: "John", lang: "JS" }, function(i, n){ Alert( "Name"과 같은 json 데이터도 처리할 수 있습니다. : " i ", 값: " n ); });
결과는 다음과 같습니다.
Name:name, Value:John
Name:lang, Value: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("안녕하세요, 잘 지내세요?"); //"안녕하세요, 잘 지내세요?"를 반환합니다.
12. 클래스 라이브러리는 jQuery와 충돌합니다
요소를 가져오기 위해 $(id) 메서드를 직접 정의하는 경우가 많으며, 프로토타입과 같은 다른 js 라이브러리에서도 이러한 내용을 동시에 정의하면 $method가 정의됩니다. 시간이 지나면 변수 메서드 정의 충돌이 발생하므로 Jquery는 이 문제를 해결하기 위한 특별한 방법을 제공합니다.
jquery에서 jQuery.noConflect() 메서드를 사용하여 $ 변수 제어를 이를 구현하는 첫 번째 라이브러리 또는 이전에 사용자 정의된 $ 메서드로 전송합니다. 나중에 Jquery를 사용할 때는 $를 모두 jQuery로 바꾸면 됩니다. 예를 들어 원래 참조 개체 메서드 $("#msg")는 jQuery("#msg")로 변경됩니다.
예:
jQuery.noCon conflict();
// jQuery 사용 시작
jQuery("div p").hide()// 다른 라이브러리의 $() 사용
$("content").style.display = '없음';