2012-01-05 8 views
1

frontend.js에 앱의 프론트 엔드 부분을 처리하는 모든 자바 스크립트 코드를 저장합니다. DOM 요소는이 페이지에 존재하지 않는하지만 난 플러그인을 적용하려고 경우 자바 스크립트 던져 오류 샘플 : 나는dom 요소에 jquery 플러그인 적용

if($('#normalImage').size() > 0) 
//apply plugin 

체크 크기 조정의이 문제에 대한 하나 개의 솔루션을 발견하지만 난 아니에요

$('#normalImage').Jcrop({ 
    setSelect:[ 0, 0, 48, 48 ], 
    sideHandles:false, 
    onChange:showPreview, 
    onSelect:showPreview, 
    aspectRatio:1 
}); 

올바른 방법은 무엇입니까

+1

당신이'이 exist'하지 않습니다 의미합니까 ** 아직 **? $ (docuemnt) .ready()에 코드를 래핑 할 수있다 – JMax

답변

4

jquery 선택기가 비어있을 때 오류를 발생시키지 않으려면 플러그인 작업이므로 잘못된 플러그인을 처리하고있는 것일 수 있습니다. 그러나이 경우 크기 나 길이를 확인하는 것이 올바른 방법입니다.

최고 사용이 :

var dom = $('#normalImage'); 
if(dom.length > 0) 
{ 
    dom.Jcrop({ 
     setSelect:[ 0, 0, 48, 48 ], 
     sideHandles:false, 
     onChange:showPreview, 
     onSelect:showPreview, 
     aspectRatio:1 
    }); 
} 
1

.length를 확인하고 0으로 채워 올바른 방법으로 컬렉션에 요소가 있는지 여부를 확인하십시오. JQuery와 사이트

:

방법은 .length 속성 기능적으로 동일하다()는 크기는; 그러나 .length 속성은 함수 호출의 오버 헤드가 이 아니기 때문에 선호됩니다.

+0

jquery site http://api.jquery.com/length/ –

0
if ($("#myelement").length > 0){ 
    // do something here 
} 
+0

에서이 예제를 확인 if ($ ("# myelement"). length) '당신의 솔루션이 더 이해하기 쉬울지라도 충분할 것입니다 :) – Stefan

0

당신이 DOM 요소는 당신이 사용할 수있는 경우 확인하려면 다음

if ($("#normalImage").length > 0) { 
    //do something 
} 
관련 문제