50개의 필수 실용 jQuery 코드 세그먼트.

36623 단어 jquery
1. jQuery 기본 인코딩을 수정하는 방법(예: 기본 UTF-8에서 GB2312로 변경):
$.ajaxSetup({
	ajaxSettings:{ contentType:"application/x-www-form-urlencoded;chartset=GB2312"} 
});

2. jQuery,prototype이 공존하고 $전역 변수 충돌 문제를 해결합니다.
<script src="prototype.js"></script> <script src="http://blogbeta.blueidea.com/jquery.js"></script> <script type="text/javascript">       jQuery.noConflict();</script> 

주의: 반드시 먼저 프로토타입을 도입해야 합니다.js가 jquery를 다시 도입합니다.js, 선후 순서 틀릴 수 없습니다.3. jQuery 요소에서 이벤트가 귀속되었는지 판단
//jQuery event                ,       jQuery      var $events = $("#foo").data("events");if( $events && $events["click"] ){
  //your code } 

4. 스타일시트를 전환하는 데 jQuery를 사용하는 방법
//            (media-type),   href        。 $('link[media='screen']').attr('href', 'alternative.css');

5. 최적화 목적에 따라 선택 범위를 제한하는 방법:
// //  jQuery               //      。        , // // var in_stock = $('#shopping_cart_items input.is_in_stock');<ul id="shopping_cart_items">   <li><input type="radio" value="Item-X" name="item" class="is_in_stock" /> Item X</li>   <li><input type="radio" value="Item-Y" name="item" class="3-5_days" /> Item Y</li>   <li><input type="radio" value="Item-Z" name="item" class="unknown" /> Item Z</li> </ul>

6. toggleClass를 제대로 사용하는 방법:
//  (toggle)           // // a.hasClass('blueButton') ? a.removeClass('blueButton') : a.addClass('blueButton');//toggleClass                     a.toggleClass('blueButton');

7. IE 고유의 기능을 설정하는 방법:
if ($.browser.msie) {// Internet Explorer       }

8. 요소 대신 jQuery를 사용하는 방법:
$('#thatdiv').replaceWith('fnuh');

9. 요소가 비어 있는지 확인하는 방법:
//     if (! $('#keks').html()) {//       ; }//     if ($('#keks').is(":empty")) {//       ; }

10. 정렬되지 않은 집합에서 원소의 색인 번호를 찾아내는 방법
$("ul > li").click(function () {  var index = $(this).prevAll().length; //prevAll([expr]):                 });

11. 이벤트에 함수를 바인딩하는 방법:
//    $('#foo').click(function(event) { 
  alert('User clicked on "foo."'); 
}); //   ,        $('#foo').bind('click', {test1:"abc", test2:"123"}, function(event) { 
  alert('User clicked on "foo."' + event.data.test1 + event.data.test2 ); 
}); 

12. 요소에 html을 추가하거나 추가하는 방법:
$('#lal').append('sometext'); 

13. 요소를 만들 때 대상의 글꼴 크기(literal)를 사용하여 속성을 정의하는 방법
var e = $("", { href: "#", class: "a-class another-class", title: "..." }); 

14. 여러 속성을 사용하여 필터링하는 방법
//                input   ,  //               var elements = $('#someid input[type=sometype][value=somevalue]').get(); 

15. jQuery를 사용하여 이미지를 미리 로드하는 방법:
jQuery.preloadImages = function() {   for(var i = 0; i < arguments.length; i++) { 
    $("<img />").attr('src', arguments[i]); 
  }
}; //    $.preloadImages('image1.gif', '/path/to/image2.png', 'some/image3.jpg'); 

16. 선택기와 일치하는 모든 요소에 대해 이벤트 프로세서를 설정하는 방법:
$('button.someClass').live('click', someFunction); //  , jQuery 1.4.2 ,delegate undelegate    //     live,                 //  , table  ,      $("table").each(function(){ 
  $("td", this).live("hover", function(){ 
    $(this).toggleClass("hover"); 
  }); 
}); //     $("table").delegate("td", "hover", function(){ 
  $(this).toggleClass("hover"); 
}); 

17. 선택한 옵션 요소를 어떻게 찾습니까:
$('#someElement').find('option:selected'); 

18. 값 텍스트가 포함된 요소를 숨기는 방법:
$("p.value:contains('thetextvalue')").hide(); 

19. 중첩된 필터를 만드는 방법:
// //                 。      , //        (:not) (:has) //  class “selected”(.selected)    。 .filter(":not(:has(.selected))")

20. 다양한 브라우저를 감지하는 방법: Safari(if($.browser.safari)), IE6 및 그 다음 버전(if($.browser.msie & & $.browser.version> 6), IE6 및 이전 버전(if($.browser.msie & $.browser.version <=6)), FireFox 2 및 그 다음 버전(if($.browser.mozilla & $.browser.version)
21. 어떤 요소가has()를 사용하여 어떤 종류나 요소를 포함하는지 검사한다.
//jQuery 1.4.*      has     。 // $("input").has(".email").addClass("email_icon");

22. 문맥 인식 메뉴를 마우스 오른쪽 버튼으로 클릭하지 않는 방법:
$(document).bind('contextmenu',function(e){ 
  return false; 
}); 

23. 맞춤형 선택기를 어떻게 정의하는가
$.expr[':'].mycustomselector = function(element, index, meta, stack){ // element-   DOM    // index –            // meta –            // stack –             //             true  //             false };  // $('.someClasses:test').doSomething(); 

24. 어떤 원소가 존재하는지 어떻게 검사합니까
if ($('#someDiv').length) { //  !!!   ……  } 

25. jQuery를 사용하여 오른쪽 키와 왼쪽 키의 마우스 클릭 두 가지를 검사하는 방법:
$("#someelement").live('click', function(e) { 
    if( (!$.browser.msie && e.button == 0) || ($.browser.msie && e.button == 1) ) { 
        alert("Left Mouse Button Clicked"); 
    } else if(e.button == 2) { 
        alert("Right Mouse Button Clicked"); 
    }
});

26. 열의 단어를 어떻게 바꿉니까
var el = $('#id'); 
el.html(el.html().replace(/word/ig, '')); 

27. 일정 시간 후에 요소를 자동으로 숨기거나 닫는 방법(1.4 버전 지원):
//  1.3.2     setTimeout        setTimeout(function() { 
$('.mydiv').hide('blind', {}, 500) 
}, 5000); //    1.4     delay()          (      )  $(".mydiv").delay(5000).hide('blind', {}, 500); 

28. 생성된 요소를 DOM에 동적으로 추가하는 방법:
var newDiv = $('<div></div>'); 
newDiv.attr('id','myNewDiv').appendTo('body'); 

29. Text-Area 도메인의 문자 수를 제한하는 방법:
jQuery.fn.maxLength = function(max){ 
    return this.each(function(){
        var type = this.tagName.toLowerCase(); 
        var inputType = this.type? this.type.toLowerCase() : null; 
        if(type == "input" && inputType == "text" || inputType == "password"){ 
            //Apply the standard maxLength              this.maxLength = max; 
        } else if(type == "textarea"){
            this.onkeypress = function(e){ 
                var ob = e || event; 
                var keyCode = ob.keyCode; 
                var hasSelection = document.selection? document.selection.createRange().text.length > 0 : this.selectionStart != this.selectionEnd; 
                return !(this.value.length >= max && (keyCode > 50 || keyCode == 32 || keyCode == 0 || keyCode == 13) && !ob.ctrlKey && !ob.altKey && !hasSelection); 
            }; 
            this.onkeyup = function(){ 
                if(this.value.length > max){ 
                    this.value = this.value.substring(0,max); 
                } 
            };
        }
    });
};//    $('#mytextarea').maxLength(500); 

30. jQuery 글로벌 이벤트 등록 및 비활성화 방법
//jQuery  ajax    ajaxStart,ajaxStop: $(document).ajaxStart(function(){
    $("#background,#progressBar").show();
}).ajaxStop(function(){
    $("#background,#progressBar").hide();
});//ajax        :$.ajax()     global (  : true)        AJAX   .    false         AJAX   ,  ajaxStart   ajaxStop          Ajax   。

31. jQuery에서 요소를 복제하는 방법:
var cloned = $('#somediv').clone(); 

32. jQuery에서 어떤 요소가 보이는지 테스트하는 방법
if($(element).is(':visible')) {   //         } 

33. 화면의 중심에 요소를 배치하는 방법:
jQuery.fn.center = function () { 
  return this.each(function(){
    $(this).css({
      position:'absolute',
      top, ( $(window).height() - this.height() ) / 2 + $(window).scrollTop() + 'px', 
      left, ( $(window).width() - this.width() ) / 2 + $(window).scrollLeft() + 'px'     });
  });
}// $(element).center(); 

34. 특정 이름을 가진 모든 요소의 값을 하나의 배열에 배치하는 방법:
var arrInputValues = new Array(); 
$("input[name='xxx']").each(function(){ 
  arrInputValues.push($(this).val());
}); 

35. 요소에서 HTML을 제거하는 방법
(function($) { 
$.fn.stripHtml = function() { 
  var regexp = /<("[^"]*"|'[^']*'|[^'">])*>/gi; 
  this.each(function() { 
    $(this).html( $(this).html().replace(regexp,'') ); 
  });
  return $(this); 
} 
})(jQuery); // $('p').stripHtml(); 

36. closest를 사용하여 부모 요소를 가져오는 방법:
$('#searchBox').closest('div'); 

37. Firebug와 Firefox를 사용하여 jQuery 이벤트 로그를 기록하는 방법:
//          jQuery.log = jQuery.fn.log = function (msg) {   if (console){ 
    console.log("%s: %o", msg, this); 
  }  return this; 
};// $('#someDiv').hide().log('div hidden').addClass('someClass');  

38. 팝업 창에서 링크를 강제로 여는 방법:
$('a.popup').live('click', function(){ 
  var newwindow = window.open($(this).attr('href'),'','height=200,width=150'); 
  if (window.focus) { 
    newwindow.focus(); 
  } 
  return false;
}); 

39. 새 탭에서 링크를 강제로 여는 방법:
$('a.newTab').live('click', function(){ 
  var newwindow=window.open(this.href); 
  $(this).target = "_blank"; 
  return false; 
}); 

40. jQuery에서 어떻게 사용하는가.siblings ()로 동년배 요소 선택
//       $('#nav li').click(function(){ 
  $('#nav li').removeClass('active'); 
  $(this).addClass('active'); 
});//       $('#nav li').click(function(){ 
  $(this).addClass('active').siblings().removeClass('active'); 
});

41. 페이지의 모든 확인란을 전환하는 방법:
var tog = false; //    true,                  $('a').click(function() { 
  $("input[type=checkbox]").attr("checked",!tog); 
  tog = !tog;
});

42. 일부 입력 텍스트를 기반으로 요소 목록을 필터링하는 방법:
//                 ,         $('.someClass').filter(function() { 
  return $(this).attr('value') == $('input#someId').val(); 
}) 

43. 마우스 패드 커서 위치 x 및 y 획득 방법
$(document).ready(function() { 
  $(document).mousemove(function(e){ 
    $(’#XY’).html(”X Axis : ” + e.pageX +| Y Axis ” + e.pageY); 
  });
});

44. String 객체를 확장하는 방법
$.extend(String.prototype, {
        isPositiveInteger:function(){
            return (new RegExp(/^[1-9]\d*$/).test(this));
        },
        isInteger:function(){
            return (new RegExp(/^\d+$/).test(this));
        },
        isNumber: function(value, element) {
            return (new RegExp(/^-?(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/).test(this));
        },
        trim:function(){
            return this.replace(/(^\s*)|(\s*$)|\r|
/g, ""); }, trans:function() { return this.replace(/&lt;/g, '<').replace(/&gt;/g,'>').replace(/&quot;/g, '"'); }, replaceAll:function(os, ns) { return this.replace(new RegExp(os,"gm"),ns); }, skipChar:function(ch) { if (!this || this.length===0) {return '';} if (this.charAt(0)===ch) {return this.substring(1).skipChar(ch);} return this; }, isValidPwd:function() { return (new RegExp(/^([_]|[a-zA-Z0-9]){6,32}$/).test(this)); }, isValidMail:function(){ return(new RegExp(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/).test(this.trim())); }, isSpaces:function() { for(var i=0; i<this.length; i+=1) { var ch = this.charAt(i); if (ch!=' '&& ch!="
" && ch!="\t" && ch!="\r") {return false;} } return true; }, isPhone:function() { return (new RegExp(/(^([0-9]{3,4}[-])?\d{3,8}(-\d{1,6})?$)|(^\([0-9]{3,4}\)\d{3,8}(\(\d{1,6}\))?$)|(^\d{3,8}$)/).test(this)); }, isUrl:function(){ return (new RegExp(/^[a-zA-z]+:\/\/([a-zA-Z0-9\-\.]+)([-\w .\/?%&=:]*)$/).test(this)); }, isExternalUrl:function(){ return this.isUrl() && this.indexOf("://"+document.domain) == -1; } });

45. JQuery 플러그인 쓰기를 정규화하는 방법:
(function($){
    $.fn.extend({
        pluginOne: function(){
            return this.each(function(){
                // my code             });
        },
        pluginTwo: function(){
            return this.each(function(){
                // my code             });
        }
    });
})(jQuery);

46. 그림이 완전히 불러왔는지 확인하는 방법
$('#theImage').attr('src', 'image.jpg').load(function() { 
  alert('This Image Has Been Loaded'); 
}); 

47. jQuery를 사용하여 이벤트에 대한 네임스페이스를 지정하는 방법:
//              $('input').bind('blur.validation', function(e){   // ...  }); //data           $('input').data('validation.isValid', true); 

48. 쿠키가 활성화되었는지 확인하는 방법
var dt = new Date(); 
dt.setSeconds(dt.getSeconds() + 60); 
document.cookie = "cookietest=1; expires=" + dt.toGMTString(); var cookiesEnabled = document.cookie.indexOf("cookietest=") != -1; if(!cookiesEnabled) { 
  //    cookie  } 

49. 쿠키를 만료하는 방법:
var date = new Date(); 
date.setTime(date.getTime() + (x * 60 * 1000)); 
$.cookie('example', 'foo', { expires: date }); 

50. 클릭 가능한 링크를 사용하여 페이지의 모든 URL을 바꾸는 방법
$.fn.replaceUrl = function() {   var regexp = /((ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?)/gi;   return this.each(function() { 
    $(this).html( 
      $(this).html().replace(regexp,'<a href="$1">$1</a>')
    ); 
  });
} 
//    
$('p').replaceUrl(); 

좋은 웹페이지 즐겨찾기