2012-12-24 3 views
0

문제를 제기합니다. 그리기 영역에서 div를 만들고 배치 할 수있는 jquery 프로그램을 작성 중입니다. div, 위치, CSS 재구성 및 기타 세부 정보를 추적해야합니다. 그래서, 각 div에 대해 이러한 모든 항목의 배열을 포함하는 개체를 만들고 있습니다.jquery : jquery 객체의 배열 요소에 어떻게 액세스합니까?

이것은 개체를 만들기위한 코드 조각입니다.

var divData= {items: [ 
{ID: "21", Block: "Block_01", posX : "450", posY : "540" }, 
{ID: "43", Block: "Block_02", posX : "250", posY : "440" }, 
{ID: "46", Block: "Block_03", posX : "50", posY : "54" }, 
{ID: "54", Block: "Block_04", posX : "140", posY : "210" }, 
{ID: "55", Block: "Block_05", posX : "900", posY : "820" }, 
{ID: "79", Block: "Block_06", posX : "380", posY : "520" } 
]}; 

그리고 이것은 배열 내용을 표시하기 위해 작성한 코드입니다.

alert ('array length is : ' + divData.items.length); 

이 문장은 내가하려고하면 문제가 경고 문이 이제 7

divData.items.push({ID: "266", Block: "Block_01", posX : "450", posY : "540" }); 

를 말합니다이 문을 배열에 데이터를 푸시 할 수 있습니다, 또한, 올 6의 값을 반환 다음 코드를 사용하여 배열의 내용을 표시하려면 아무 일도 발생하지 않습니다.

for (var i=0;i<divData.items.length;i++) 
{ 
document.write(divData.items[i] + "<br>"); 
}  

화면의 출력물은이 [object Object]입니다.

내가 뭘 잘못하고 있니?

도움이 될 것입니다.

감사

크리스

답변

2

배열에있는 '항목'개체입니다. 화면에 직접 개체를 출력 할 수는 없습니다.

for (var i = 0;i < divData.items.length; i++) 
{ 
    $("#container").append("<div class='positionedDiv' id='" + divData.items[i].ID + "' style='top: " + divData.items[i].posY + "px;left:" + divData.items[i].posX + "px;></div>"); 
} 

일부 CSS :

.positionedDiv { 
    position: absolute; 
} 
+0

이있어

for (var i = 0;i < divData.items.length; i++) { document.write(divData.items[i].ID + "<br/>"); // access the OBJECT's property! } 

당신은 같은 뭔가을 수행 할 수 있습니다 : 당신은 당신이 액세스하려고하는 개체의 어떤 속성을 지정해야 . 고마워, 나는 그저 분명한 연결을 만들지 않았다. 정말 고마워. – Chris

+0

흥미로운 점은 행을 어떻게 삭제하겠습니까? – Chris

+1

http://www.w3schools.com/jsref/jsref_splice.asp –

관련 문제