2014-10-06 5 views
-1
var eaclink = $('a.topLink'), 
eacwrap = $('div.pan_inner'); 

for(var i = 0; i < eaclink.length; i++) { 
    eacwrap[i].wrap('<div class="panel panel-default"><div id="collapse1" class="panel-collapse collapse in"><div class="panel-body"></div></div></div>'); 
    eaclink[i].attr("data-toggle", "collapse").attr("data-parent", "#accordion").attr("href", "collapse1"); 
} 

정의되지 않은 함수는 무엇을 어떻게 알 수 있습니까?계속 정의되지 않음이 함수가 아닙니다.

+2

어떤 라인이 오류가? – jrummell

+2

개발자 콘솔에 오류와 함께 줄 번호가 표시됩니다. jQuery를 가져 오지 못하는 것만 큼 간단 할 수있다. (이것은'$()'를 처음 호출 할 때 오류를 일으킨다. – Pointy

+0

또는 (jQuery가 올바르게 포함 된 경우) jQuery가 제대로로드되기 전에 코드가 실행 중이기 때문입니다. 이 경우 클로저에 코드를 래핑해야합니다 (예 :'jQuery (document) .ready (function ($) {/ * 여기에 코드 * *}), ' – giorgio

답변

3

wrapattr은 모두 jQuery 객체 대신 DOM 요소에서 작업하기 때문에 함수가 아닙니다.

[i] 대신 .eq(i)을 사용하여 jQuery 객체로 래핑 된 요소를 가져옵니다.

예 :

eacwrap.eq(1).wrap() 
+2

... 또는'$ (eacwrap [i]). attr (...)'. – dfsq

관련 문제