如何在ExtJS 4中获取Panel的所有子元素或id?
答案 0 :(得分:15)
我为你写了这个功能。我认为它会对你有所帮助。
function getAllChildren (panel) {
/*Get children of passed panel or an empty array if it doesn't have thems.*/
var children = panel.items ? panel.items.items : [];
/*For each child get their children and concatenate to result.*/
Ext.each(children, function (child) {
children = children.concat(getAllChildren(child));
})
return children;
}
它将面板(容器)作为参数,并递归返回所有子项和子项。
修改的
这将返回儿童的ID。 使用以前的功能 - getAllChilden
function getAllChildenIds(panel) {
//*Get all child items. \*/
var children = getAllChilden(panel);
//*Replace items with their ids.\*/
for (var i=0, l=children.length; i < l; i++) {
children[i] = children[i].getId();
}
return children;
}
答案 1 :(得分:10)
只需在面板上调用query(),它将返回与可选选择器匹配的所有子元素的数组。 即panel.query()