>웹 프론트엔드 >JS 튜토리얼 >jQuery 공통 개발 기술의 상세한 편집_jquery

jQuery 공통 개발 기술의 상세한 편집_jquery

WBOY
WBOY원래의
2016-05-16 17:44:39934검색
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 에서 항목(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 메시지 HTML 콘텐츠가 포함되어 있습니다.
$("#msg").html("새 콘텐츠")
//"새 콘텐츠"를 html 문자열로 작성합니다. ID가 msg인 요소 노드의 콘텐츠, 페이지에 굵은 새 콘텐츠가 표시됩니다.
$("#msg").text() //id가 msg인 요소 노드의 텍스트 콘텐츠를 반환합니다.
$(“#msg”).text(“새 콘텐츠”)
//“새 콘텐츠”를 일반 텍스트 문자열로 작성합니다. ID가 msg인 요소 노드 콘텐츠를 입력하면 페이지에 new content가 표시됩니다.
$("#msg").height() //ID가 msg인 요소의 높이를 반환합니다. 🎜> $(“#msg”).height(“300″); //ID가 msg인 요소의 높이를 300으로 설정합니다.
$(“#msg”).width(); //요소를 반환합니다. with 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]})
//인터레이스 색상 변경 효과 달성 www.222gs.com 테이블
$(“p ”).click(function(){alert($(this).html())})
//p마다 클릭 이벤트가 추가됩니다. p 요소를 클릭하면 해당 내용이 나타납니다.



6. 필요한 기능을 확장합니다.


코드 코드는 다음과 같습니다.

$.extend({
min: function(a, b){return a < b?a:b; },
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("배경"); //요소의 배경색을 반환
$("#msg").css("배경","#ccc") / /요소의 배경을 회색으로 설정
$(“#msg”).height(300) $(“#msg”).width(“200″); //너비와 높이 설정
$ (“#msg”).css({ color: “red”, background: “blue” });//이름-값 쌍 형식으로 스타일 설정 www.52mvc.com
$(“#msg ”).addClass(“select”); // select라는 클래스를 요소에 추가합니다.
$(“#msg”).removeClass(“select”) //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( "선택됨")
});
(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 요소의 모든 클릭 이벤트 삭제

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){ 경고( “항목 #” i “: ” n ); })

은 다음과 동일합니다:
코드 복사 코드는 다음과 같습니다.

var tempArr=[0,1,2]
for(var i=0;i< ;tempArr.length;i ){
alert(“항목 #” i ”: “ tempArr[ i ])
}

도 가능합니다.
과 같은 json 데이터 처리 $.each( { name: "John", lang: "JS" }, function(i, n){ Alert( "Name: " i ", Value: " 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의 내용은 다음과 같습니다. ,3]
$.merge(arr1,arr2): 두 배열을 병합하고 중복 항목을 삭제합니다.
예: $.merge( [0,1,2], [2,3,4] ) //[0,1,2,3,4] 반환
$.trim(str): 문자열 양쪽 끝의 공백 문자를 삭제합니다.
예: $.trim("안녕하세요, 잘 지내세요?"); //Return "안녕하세요, 잘 지내세요?"
12. 사용자 정의 메서드 또는 다른 클래스 라이브러리와 jQuery 간의 충돌을 해결합니다.
우리는 요소를 얻기 위해 $(id) 메소드를 직접 정의하거나 프로토타입과 같은 다른 js 라이브러리에서도 $ 메소드를 정의하는 경우가 많습니다. 메서드 정의 충돌이 발생하면 Jquery는 이 문제를 해결하기 위한 특별한 방법을 제공합니다.
jquery에서 jQuery.noConflect() 메서드를 사용하여 $ 변수 제어를 이를 구현하는 첫 번째 라이브러리 또는 이전에 사용자 정의된 $ 메서드로 전송합니다. 나중에 Jquery를 사용할 때는 $를 모두 jQuery로 바꾸면 됩니다. 예를 들어 원래 참조 개체 메서드 $("#msg")는 jQuery("#msg")로 변경됩니다.
예:
코드 복사 코드는 다음과 같습니다.

jQuery.noConflect ();
// jQuery 사용 시작
jQuery("div p").hide()
// 다른 라이브러리의 $()
$("content").style을 사용합니다. 표시 = '없음'
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.