2011-10-13 60 views
0

我一直在佈局庫。它被分解成面板對象。我需要搜索嵌套元素的id並在目標元素之前或之後插入數據。我可以使用拼接來放置新的元素,但我無法弄清楚如何搜索obj。 如果可能,我寧願不使用外部庫。搜索和插入JavaScript對象

任何建議或幫助,這將是非常讚賞

這裏是一個面板對象

panel['menu'] = 
{ 
"id":"menu", 
"css":"panel", 
"floating":true, 
"elements":[{ 
      "id":"menu-header", 
      "html":"<h1 class=\"header\">Loading</h1>", 
      "index":0, 
      "sib_count":1 
      }] 
}; 
+1

您是通過遍歷數組在搜索對象。的[查找ID對象在javascript對象數組] –

+0

可能重複(http://stackoverflow.com/questions/7364150/find-object-by-id-in-array-of-javascript-objects) –

+0

威爾一切是在元素數組中?或者可以有嵌套在元素數組中的元素?它只有一個深度還是有可能達到5,10,50個深度?它們是否可以存在於元素數組之外。 – jyore

回答

0

您只需通過數組進行迭代,並查找ID的例子,你想

var elements = panel['menu']['elements']; 
for (var i = 0; i < elements.length; i++) { 
    if (elements[i]['id'] === "some id") { 
     elements.splice(i, 0, /* new elements */); 
    } 
}