jQuery 의 체인 프로 그래 밍 스타일

체인 프로 그래 밍 의 실현 원리
jQuery 는 우리 개발 자 들 로 하여 금 문법 을 사용 하여 자신의 방법 을 호출 하 는 원 리 를 계속 사용 하 게 할 수 있 습 니 다.주요 원인 은 jQuery 내부 에서 js 의 대상 을 이용 하여 실현 하기 때 문 입 니 다.
jQuery 에서 같은 요소 나 요소 의 다른 관계 요소(형제 요소,부자 요소)를 계속 조작 하면'문법(점 문법)'을 사용 하여 계속 쓸 수 있 습 니 다.

$("#box").css("background", "pink").css("font-size":"29px");
$("#box").siblings().css("background", "");
다음 으로 쓸 수 있 습 니 다:

$("#box").css("background", "pink").siblings().css("background", "red");
체인 프로 그래 밍 jQuery 선택 기 자체 가 jquery 대상 입 니 다.jQuery 내 부 는 this 를 이용 하여 자신 에 게 돌 아 왔 다.

    //js ,      
       var obj = {  
         name:"  ", 
        desc: function(){   
        console.log(this); //           
        console.log(this.name); //             
        return this;  //          ,        ,        。
},  
      read: function(){  
        console.log("hello!");    
        return this; 
    }}


jQuery 의 체인 프로 그래 밍 스타일 인 스 턴 스
우선 본인 은 하나의 사례 를 통 해 jQuery 의 체인 프로 그래 밍 스타일 을 보 여 드 립 니 다.먼저 페이지 를 쓰 고 목록 을 보 여 줍 니 다.코드 는 다음 과 같 습 니 다.

<body>
    <div>
        <ul class="menu">
            <li class="level1">
                <a href="#">  </a>
                <ul class="level2">
                    <li><a href="#">  </a></li>
                    <li><a href="#">  </a></li>
                    <li><a href="#">  </a></li>
                </ul>
            </li>
            <li class="level1">
                <a href="#">  </a>
                <ul class="level2">
                    <li><a href="#">  </a></li>
                    <li><a href="#">  </a></li>
                    <li><a href="#">  </a></li>
                </ul>
            </li>
        </ul>
    </div>
</body>

<script type="text/javascript">
    $(function() {
        $(".level1 > a").click(function() {
            $(this).addClass("current").next().show().parent.siblings().children("a").removeClass("current").next().hide();
            return false;
        });
    });
</script>
코드 실행 후의 효 과 는 다음 그림 과 같다.
 
 상기 코드 의 확장 효 과 는 jQuery 의 체인 조작 을 통 해 이 루어 진 것 입 니 다.current 류 의 조작,하위 요 소 를 조회 하 는 방법 호출,애니메이션 방법의 호출 등 은 모두 같은 요소 에 대한 것 이기 때문에 jQuery 대상 을 얻 기 시작 한 후에 뒤의 모든 방법,속성 호출 은'..'을 통 해 연속 으로 호출 하면 됩 니 다.이런 모델 은 바로 체인 조작 이다.
코드 의 가 독성 과 유지 가능성 을 높이 기 위해 저 희 는 위의 체인 코드 형식 을 다음 과 같이 수정 합 니 다.

<script type="text/javascript">
    $(function() {
        $(".level1 > a").click(function() {
            //         current  
            $(this).addClass("current")
                //        
                .next().show()
                //             a  current  
                .parent.siblings().children("a").removeClass("current")
                //           
                .next().hide();
            return false;
        });
    });
</script>
규범 화 된 형식 조정 을 거 친 후에 코드 의 가 독성 을 증가 하여 후기 유지 에 더욱 편리 합 니 다.
이 동시에 우 리 는 같은 jQuery 대상 에 대해 체인 작업 을 할 때 주로 다음 세 가지 형식 규범 을 따른다.
(1)같은 대상 이 3 개 를 초과 하지 않 으 면 한 줄 로 직접 쓸 수 있 습 니 다.코드 는 다음 과 같 습 니 다.

<script type="text/javascript">
    $(function() {
        $("li").show().unbind("click");
    });
</script>
(2)같은 대상 의 많은 조작 에 대해 줄 마다 하나의 조작 을 쓰 는 것 을 권장 합 니 다.코드 는 다음 과 같 습 니 다.

<script type="text/javascript">
    $(function() {
        $(this).removeClass("mouseout")
            .addClass("mouseover")
            .stop()
            .fadeTo("fast", 0.5)
            .fadeTo("fast", 1)
            .unbind("click")
            .click(function() {
                .......
            });
    });
</script>
(3)여러 대상 에 대한 소량의 조작 은 대상 마다 한 줄 씩 쓸 수 있 고 하위 요소 와 관련 되면 적당 한 들 여 쓰기 도 고려 할 수 있다.코드 는 다음 과 같 습 니 다:

<script type="text/javascript">
    $(function() {
        $(this).addClass("highLight")
            .children("a").show().end()
            .siblings().removeClass("highLight")
            .children("a").hide();
    });
</script>
이상 은 jQuery 와 관련 된 체인 프로 그래 밍 스타일 입 니 다.
총결산
jQuery 체인 프로 그래 밍 스타일 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 jQuery 체인 프로 그래 밍 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!

좋은 웹페이지 즐겨찾기