2013-07-24 3 views
1

JSON의 콘텐츠로 채워진 목록 항목을 ul-item에 삽입하려고하는데 바로 얻을 수 없으며 내가 뭘하는지 보지 못합니다. 잘못하고있다. jquery에 의해 ul에 목록 항목 삽입

내가 사용하고 코드입니다 : 내가 페이지를 방문 할 때 내 소스로 볼 때

var over_slide = $('<div id="slider" class="slider"></div>'); 

over_slide.append('<ul class="orslider">'); 

$.each(jsonobject, function (index, d) { 
    if (d.category_id == 5) { 
     over_slide.append("<li><h1 class='cufon'>" + d.naam + "</h1><h2 class='cufon'>" + d.subtekst + "</h2><p>" + d.tekst + "</p></li>"); 
    } 
}); 

over_slide.append('</ul>'); 

, 그것은 외부에 배치하는 권리 클래스 명 모든리스트 항목이 빈 UL이있다 ul. 이 문제를 어떻게 해결할 수 있습니까? 나는 많은 시도를했지만 여전히 작동하지 않습니다.

+0

당신은'jsonobject'를 게재 할 수 있습니까? –

답변

3

생성 된 li 및 그 내용은 li 대신 div에 추가됩니다. 더 나은 성능를 들어

var over_slide = $('<div id="slider" class="slider"></div>'); 

var ul = $('<ul/>', {"class":"orslider"}; //create new ul object 

$.each(jsonobject, function(index, d){  
    if(d.category_id == 5){ 
     //append elements to the ul instead of the div 
     ul.append("<li><h1 class='cufon'>"+d.naam+"</h1><h2 class='cufon'>"+d.subtekst+"</h2><p>"+d.tekst+"</p></li>"); 
    } 
}); 
over_slide.append(ul); 
//at somepoint over_slide needs to be appended to the DOM 

var over_slide = $('<div id="slider" class="slider"></div>'); 

var ul = $('<ul/>', {"class":"orslider"}; //create new ul object 
var html = ""; 
$.each(jsonobject, function(index, d){  
    if(d.category_id == 5){ 
     //append elements to var 
     html += "<li><h1 class='cufon'>"+d.naam+"</h1><h2 class='cufon'>"+d.subtekst+"</h2><p>"+d.tekst+"</p></li>"; 
    } 
}); 

//only perform append once 
ul.append(html); 

over_slide.append(ul); 
//at somepoint over_slide needs to be appended to the DOM 
+0

감사합니다, 당신은 내 하루를 구했습니다! –

+0

@MarcoBinnekamp 기꺼이 도와 드릴 수 있습니다. 이 함수가 더 잘 수행되기를 원한다면, 루프 안의 문자열에 li 마크 업을 모은 다음, 루프 밖에서'ul.append'를 호출하십시오. –

+0

"대답 됨"으로 질문을 편집하지 말고 대답을 수락해야합니다. –

관련 문제