2015-02-02 1 views
-2

을 사용하여 생성 된 div 안에 추가합니다. 자바 스크립트를 통해 div를 만들어야합니다. div 안에는 div (동적으로로드되는) 목록을 추가해야하므로 div (생성 된) div에 테두리를 적용 할 예정입니다. 예 : 만약 내가 동적으로 10 div의로드, 나는 3 div의 모든 부모 div에 테두리를 적용 할 수 있도록 모든 3 div의 부모 div를 만들어야합니다.div를 동적으로 만들고 div의 목록을 자바 스크립트

<div class="main"> 
    <div class="div_item"> 
     item 1 
    </div> 
    <div class="div_item"> 
     item 2 
    </div> 
    <div class="div_item"> 
     item 3 
    </div> 
    <div class="div_item"> 
     item 4 
    </div> 
    <div class="div_item"> 
     item 5 
    </div> 
    <div class="div_item"> 
     item 6 
    </div> 
    <div class="div_item"> 
     item 7 
    </div> 
    <div class="div_item"> 
     item 8 
    </div> 
</div> 

이러한 항목의 경우 각 3 개의 div에 대해 상위 div를 만들어야합니다. 누구든지 솔루션을 찾을 수 있도록 도와 줄 수 있습니까?

+1

질문 있나요? –

+0

안녕하세요 에반, 저에게 알려 주셔서 고마워요. 나는 그 질문을 편집했다. 문제를 인식 할 수 있습니까? 아니면 문제에 더 많은 관심을 기울여야합니까? –

+0

그래서 특정 수의 div가 주어지면 3을 그룹으로 묶어야합니다. –

답변

0

요소 컨테이너가있는 경우 jQuery append() 함수를 사용하여 요소를 컨테이너에 추가 할 수 있습니다. 요소를 통해 루프를 확인하고 물론 3

var nodes = 21; // total number of nodes 

for (var i=0; i<nodes; i++) 
{ 
    if(i%3==0) { 
     $('#container').append('<div class="parent"></div>'); 
    } 

    $('.parent').last().append('<div class="child">child '+ i +'</div>'); 
} 

Fiddle1

의 그룹을 포장이 조각은 데이터가 백엔드 스크립트에 Ajax 호출에서 즉,로드되는 경우로 확장 될 수있다 (두 번째 루프에서는 nodes.length을 사용하므로 결과의 크기를 모르더라도 루프 할 수 있습니다).

// Create array (can be made with data load from backend) 
var total = 21; 
var nodes = new Array(); 

for (var i=0; i<total; i++) 
{ 
    var desc = "child" + i; 
    var node = {id:i, description:desc}; 
    nodes.push(node); 
} 

// Output results 
for (i=0; i<nodes.length; i++) 
{ 
    if(i%3==0) { 
     $('#container').append('<div class="parent"></div>'); 
    } 

    $('.parent').last().append('<div class="child">'+ nodes[i].description +'</div>'); 
}  

Fiddle2

관련 문제