2014-11-19 2 views
1
내가 1.11.0에 JQuery와 1.7.1에서 내 프로젝트를 업그레이드 이후

, 나는이 jQuery를 표현 뭐가 문제

오류 내가 얻고 전에 제대로 작동하는 데 사용 내 JS 중 하나에이 오류를 얻고있다

Uncaught Error: Syntax error, unrecognized expression: .formsetFormField:not(.treeLevel):not([name$=-TOTAL_FORMS]):not([name$=-INITIAL_FORMS]):not([name$=-MAX_NUM_FORMS]), input[type=checkbox][name$=-DELETE], input[type=hidden][name$=-slide], , input[type=file]

내 코드는 내가 2. 여러 V를 사용하여 시도이 표현을 수정 1. 같은 많은 방법을 시도

if (typeof opts.getAllInputs === "undefined") { 
       node._getAllInputs = function(withManagementForm) { 
        withManagementForm = (typeof withManagementForm === "undefined") ? withManagementForm : false; 
        if (withManagementForm) { 
         return $(this).find("> .nestedFormsetsFieldsSection > li > input:not(.treeLevel), > .nestedFormsetsFieldsSection > li > textarea"); 
        } else { 
         return $(this).find("> .nestedFormsetsFieldsSection > li > input:not(.treeLevel):not([name$=-TOTAL_FORMS]):not([name$=-INITIAL_FORMS]):not([name$=-MAX_NUM_FORMS]), > .nestedFormsetsFieldsSection > li > textarea"); 
        } 
       }; 
      } else { 
       node._getAllInputs = opts.getAllInputs; 
} 

이 같은입니다 Jquery의 포화. 나는 1.7.1의 객체를 만들었고 다음 접근법을 사용했다.

<script type="text/javascript"> 
var jQuery_1_7_1 = $.noConflict(true); 
</script> 

그러나 나는 더 많은 오류를 얻는다.

내가 볼 수있는 유일한 해결책은 누군가가 JQuery와 1.11.0

답변

0

시간을 낭비하는 것에 대해 죄송합니다. 나는 그 문제를 발견했다. getAllInputs 함수는 다른 js에서 호출되었으며 아무런 이유없이 두 개의 쉼표가있는 것을 발견했습니다 (예외 오류에서 발견되었습니다).

왜 이전 버전에서 발견되지 않았는지 알 수 없습니다. 그리고 그것이 이유 였고, 그 때문에 문제는 버전 업그레이드가 아닌 다른 js에있을 수 있다는 사실을 내 마음에 알리는 적이 없었습니다.

어쨌든 나는 그것을 하나의 쉼표로 바꾸었고 매력처럼 작동했습니다. :)

모든 노력과 도움에 감사드립니다.

+0

@kunalManwar 그 대답에 언급 된,하지만 당신이 그것을 기쁘게 해결 얻을. – Jai

+0

고마워요 ... 도움이 귀하의 답변을 표시 :) –

0

에 따라이 표현을 수정 나를 도울 수 있다면 난 ... 어떤 error..try이없는 것 같습니다 내 시스템에서 코드를 테스트입니다 코드

Jquery 1.7.1은 다음 noconflict에 대한 코드 아래에 작성해야하는 코드가 호환이기 때문에
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script> 
<script> 
var opts="a"; //just delete that 
var node="a"; //just delete that 
if (typeof opts.getAllInputs === "undefined") { 
       node._getAllInputs = function(withManagementForm) { 
        withManagementForm = (typeof withManagementForm === "undefined") ? withManagementForm : false; 
        if (withManagementForm) { 
         return $(this).find("> .nestedFormsetsFieldsSection > li > input:not(.treeLevel), > .nestedFormsetsFieldsSection > li > textarea"); 
        } else { 
         return $(this).find("> .nestedFormsetsFieldsSection > li > input:not(.treeLevel):not([name$=-TOTAL_FORMS]):not([name$=-INITIAL_FORMS]):not([name$=-MAX_NUM_FORMS]), > .nestedFormsetsFieldsSection > li > textarea"); 
        } 
       }; 
      } else { 
       node._getAllInputs = opts.getAllInputs; 
} 
</script> 
+0

이 표현식이 dom 요소를 성공적으로 찾을 때 오류가 될 수 있습니까? 오류를 보시면 저에게 아이디어를 줄 수 있습니까? –

0

안녕하세요 오래된 아니 새 버전 noconflict을 사용하시기 바랍니다. 사용할 때 나에게 보이는

$(this).find('.formsetFormField:not(.treeLevel):not([name$="-TOTAL_FORMS"]):not([name$="-INITIAL_FORMS"]):not([name$="-MAX_NUM_FORMS"]), input[type="checkbox"][name$="-DELETE"], input[type="hidden"][name$="-slide"], input[type="file"]'); 

은 다음과 같습니다

Uncaught Error: Syntax error, unrecognized expression: .formsetFormField:not(.treeLevel):not([name$=-TOTAL_FORMS]):not([name$=-INITIAL_FORMS]):not([name$=-MAX_NUM_FORMS]), input[type=checkbox][name$=-DELETE], input[type=hidden][name$=-slide], , input[type=file]

그래서 당신이 시도 할 수 있습니다 :

<script type="text/javascript"> 
    var jQuery_1_11_1 = $.noConflict(true); 
    </script> 

는이 코드는 오류가 될 것으로 보인다에 따라

+0

아니요! 일하지 않았어.더 많은 오류가 발생합니다. ( –

+0

새 라이브러리를 제거하면 코드가 1.7.1과 함께 작동합니까? –

1

희망이 도움 속성 선택자를 사용하려면 "" 따옴표를 사용하여 문자열 표현을 만드십시오. 예 : [name$="-MAX_NUM_FORMS"].


난 당신이 두 개의 쉼표 여기 , ,있는 것으로 나타났습니다 또 다른 한가지 : 당신의 선택의 끝에

[name$=-slide], , input[type=file] 

합니다.

+0

나는이 견적 접근 방식을 시도했으나 오류는 여전히 지속됩니다. (.이 부분이 어디에서 오는지 이해할 수 없습니다. –