$(function() { //클리어 클래스로 입력 필드 꺼내기 //(참고: "clear Once"는 클래스 2개와 Clear를 의미합니다.) $(' #testform input.clear').each(function(){ //데이터 메서드를 사용하여 데이터 저장 $(this).data( "txt", $.trim($(this).val( ) ) ); }).focus(function(){ // 포커스를 받을 때 필드의 값이 기본값과 같은지 확인하고, 같으면 지우세요 if ( $.trim($(this)) .val()) === $(this).data("txt") ) { $(this).val(""); } }).blur(function() { // 클래스 클리어를 사용하여 필드에 블러 시간을 추가하여 기본값을 복원합니다 // 그러나 클래스가 한 번이면 무시합니다 ( $.trim($(this).val()) = == "" && !$(this).hasClass("once") ) { //저장된 데이터 복원 $(this). val( $(this).data("txt") ); } }); })
5. 🎜> 대부분의 사람들은 프로그래밍이 아무리 훌륭하더라도 모든 세부 사항을 기억하는 데 어려움을 겪습니다. 대부분의 프로그래머는 특정 프로그래밍 언어에 대해서도 부주의하므로 언제든지 참조할 수 있도록 관련 설명서를 인쇄하거나 데스크탑에 올려 놓을 수 있습니다. 확실히 프로그래밍 효율성이 향상됩니다.
oscarotero jquery 1.3 (배경화면 버전) 6. FireBug 콘솔에 jQuery 기록 FireBug는 제가 가장 좋아하는 것 중 하나입니다. 브라우저 확장 도구인 이 도구를 사용하면 시각적 인터페이스에서 현재 페이지의 HTML CSS JavaScript를 빠르게 이해하고 이 도구를 사용하여 즉각적인 개발을 완료할 수 있습니다. jQuery 또는 JavaScript 개발자로서 FireFox는 JavaScript 코드 로깅 도 지원됩니다. FireBug 콘솔에 작성하는 가장 쉬운 방법은 다음과 같습니다. console.log("hello world")
원하는 방식으로 일부 매개변수를 작성할 수도 있습니다. console.log(2,4,6,8,"foo",bar) 당신도 당신입니다. 콘솔에 jQuery 객체를 기록하기 위한 작은 확장을 작성할 수 있습니다:
이 확장의 경우 .log() 메서드를 직접 사용하여 현재 개체를 콘솔에 기록할 수 있습니다.
코드 복사
코드는 다음과 같습니다.$('#some_div').find ('li .source > input:checkbox') .log("선택 해제할 소스")
.removeAttr("checked")
7. 가능 jQuery를 사용한 후에는 class 속성을 사용하여 DOM 요소를 선택하는 것이 매우 간단하다는 것을 알게 될 것입니다. 그럼에도 불구하고 클래스 선택기를 가능한 한 적게 사용하고 최대한 빠르게 실행되는 ID 선택기를 사용하는 것이 좋습니다. IE 브라우저에서 클래스 선택기를 사용하면 전체 DOM 트리를 순회한 후 일치하는 클래스 패키징 세트가 반환됩니다. DOM 자체에는 "자연스러운" getElementById 메서드가 있지만 클래스에는 없기 때문에 ID 선택기가 더 빠릅니다. 따라서 클래스 선택기를 사용하면 브라우저는 전체 DOM을 탐색하게 됩니다. 웹 페이지의 DOM 구조가 충분히 복잡하다면 이러한 클래스 선택기로 인해 페이지가 점점 더 느려집니다. 이 간단한 HTML 코드를 살펴보겠습니다.
/ / 클래스를 사용하여 제출 버튼을 호출하는 것은 절대 ID 선택기를 사용하는 것보다 훨씬 느립니다. var main_button = $('#main .button') var main_button = $('#main_button'); >
8. jQuery 체인을 잘 활용하라 jQuery 체인을 사용하면 강력한 연산을 간결하게 작성할 수 있을 뿐만 아니라, 별도의 작업 없이 패키지 세트에 여러 명령을 적용할 수 있어 개발 효율성도 향상된다. 포장 세트를 다시 계산합니다. 따라서 더 이상 다음과 같이 작성할 필요가 없습니다.
//체인과 동일: var input_text = $('#shopping_cart_items input.text'); input_text .css('border', '3px dashed yellow') .css('Background-color', 'red') .val("text update"); [html] 9. jQuery 함수를 $(window).load 이벤트에 바인딩 대부분의 jQuery 예제나 튜토리얼에서는 jQuery 코드를 $(document).ready 이벤트. $(document).ready 이벤트는 대부분의 경우 괜찮지만 문서가 준비되고 단일 문서의 이미지와 같은 개체가 다운로드될 때 구문 분석 시퀀스가 시작됩니다. 따라서 $(document).ready 이벤트를 사용하면 일부 시각 효과 및 애니메이션, 드래그, 숨겨진 그림 미리 읽기 등과 같이 특정 시간에 기대하는 결과를 반드시 얻지 못할 수도 있습니다. $(window) .load 이벤트 원하는 코드를 실행하기 전에 전체 문서가 준비될 때까지 기다리는 것이 안전합니다. [code] $(window).load(function(){ // 페이지가 완전히 준비된 후 실행할 코드를 여기에 넣으세요 }); > 10. jQuery 체인을 사용하여 선택기를 더욱 간결하고 우아하게 만듭니다.
JavaScript는 체인 구조와 줄 바꿈을 지원하므로 이 예에서는 먼저 요소를 위로 이동합니다. 동일한 요소에 다른 클래스를 추가합니다.
이벤트나 애니메이션 효과가 연속적으로 호출되도록 하려면 이벤트가 실행되면 콜백 함수를 사용해야 합니다. 다음과 같은 애니메이션 효과 뒤에 콜백 함수를 바인딩할 수 있습니다. 즉, $('#sliding').slideDown('slow', function(){… 이 예제를 미리 보려면 여기를 클릭하세요.
$(document).ready(function(){ // jQuery의 클릭 이벤트를 사용하여 시각적 효과를 변경하고 슬라이딩 효과를 활성화합니다. $("div .button" ).click(function () { //div.button은 이제 누른 효과처럼 보입니다. $(this).css({ borderStyle:"inset",cursor:"wait" } ); //#sliding은 이제 작업 완료 후 페이드 아웃되고 페이드 인 효과가 켜집니다. //slideup 완료되면 $('#sliding').slideDown('slow' , function(){ $('#sliding').slideUp('slow', function(){ //페이드 효과가 완료된 후 버튼의 CSS 속성이 변경됩니다 $('div.button').css ({ borderStyle:"outset", 커서:"auto" }) }) });
12 .사용자 정의 선택기 사용 방법 알아보기 jQuery를 사용하면 CSS 선택기를 기반으로 사용자 정의 선택기를 정의하여 코드를 더욱 간결하게 만들 수 있습니다.
코드 복사
코드는 다음과 같습니다.
$.expr[':'].mycustomselector= function(element, index, Meta, stack){ // element- DOM 요소 // index - 현재 탐색된 인덱스 스택 값 // 메타 - 선택기에 대한 데이터 요소 // 스택 - 모든 요소를 반복하는 데 사용되는 스택
// 현재 요소가 포함된 경우 true를 반환합니다. / / no 현재 요소가 포함된 경우 false 반환
// 사용자 정의 선택기 적용: $('.someClasses:test').doSomething()
아래에서 사용자 정의 선택기를 사용하여 "rel" 속성이 포함된 요소 집합을 잠그는 작은 예를 살펴보겠습니다.
$.expr[':'].withRel = function(element){ var $this = $(element ); / /rel 속성이 비어 있지 않은 요소만 반환 return ($this.attr('rel') != '')
$(document ).ready(function( ){ //사용자 정의 선택기의 사용은 매우 간단합니다. 다른 선택기와 마찬가지로 요소 패키징 세트를 반환합니다. //수정과 같은 형식 지정 방법을 사용할 수 있습니다. CSS 스타일은 다음과 같습니다 $('a:withRel').css('ground-color', 'green') });