2012-01-25 3 views
0

CSS를 주위로 움직일 때 두통을 없애기 위해이 함수를 작성했습니다 (CSS 문자열을 객체로 변환 함). 나는 .css() 기능을위한 드롭으로 그것을 사용할 수 있기를 바란다.체인을 손상시키지 않는 jquery 플러그인 만들기

jQuery.fn.cCSS = function(css) { 
    return this.each(function(){ 
    var css_obj = {}; 
    var tmx = ""; 
    ocss = css.split(";"); 
    $.each(ocss, function (index, elem){ 
     tmx = elem.trim().split(':'); 
     if (tmx[0].length > 0) 
      css_obj[tmx[0]] = tmx[1].trim(); 

    }); 
     return $(this).css(css_obj); 
     //return $; 
    }); 
    }; 

})(jQuery); 

"유창한"표기법으로 사용할 때의 문제는 항상 null 오류입니다.

catch되지 않는 형식 오류가 : 내가 조금 당신은 결국, return this 원하는

답변

1

오류가있는 줄 번호를 조사하고 싶을 수 있습니다. 나는 그것이이 기능과 관련이 없다고 생각한다. 함수 자체가 나를 위해 일했습니다. 당신이 함수를 호출 할 때 당신이 그것을 실행하지 않는 한 addClass가 호출되지 않습니다 특히 때문에 데모

http://jsfiddle.net/R8UtV/ < <? 즉

$('#test').cCSS('bleh...').addClass('foo'); 
+0

나는 jsfiddle 예를 들어 위에 다른 기능을 체인하고 그것을 잘 작동했습니다. 내 코드에서 cCSS 이후 임의의 메서드는 Uncaught TypeError와 실행을 중단하지만 null의 메서드 'xxxx'를 호출 할 수 없습니다. 나는 그것으로 더 깊게 볼 것이다. 내가 분명해야 함수를 호출 할 때 오류가 발생했습니다. 코드에 – Len

+0

을 입력하면 추가 닫기 괄호가 생깁니다. 그게 문제인지 아니면 사고가 났는지 모르겠다면 –

+0

은 실수로 한 번에 주식 css를 사용하여 실패한 코드 (첫 번째 코드)에서 100 번 코드를 사용합니다. – Len

0

"체인을 깰"않기 위해 반환하는 무슨 혼란 스러워요

의 방법 'addClass'을 호출 할 수 없습니다 당신은 같은 객체에서 다음 함수를 호출 할 것을 기대하고 있습니다!

+0

는 '이'여전히 같은 오류가 ... – Len

1

당신은 this.each(...)을 반환합니다! .each()의 출력은 null 일 가능성이 큽니다.

관련 문제