如何访问mxml(Flex)DOM元素?

时间:2009-07-09 15:11:40

标签: flex dom mxml

有没有办法以JS中的方式访问mxml文件的DOM-Elements(例如使用Prototype或jQuery)?

我需要知道顶级元素是否有一个具有特定id的子(sub-sub -...- childs)。

在JS(使用原型)中,它将类似于:

$('tabs').select('[id="something"]');

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

根据你想要做的事情,Bifff可能就是答案。可以将其视为“JQuery for Flex”:http://wiki.github.com/seanhess/bifff

答案 1 :(得分:1)

您可以递归搜索结构。这样的事情(在你的情况下可能不是最有效的):

private function hasChild(node:UIComponent, target:String):Boolean
{
    if(node.id == target) 
    {
        return true;
    }
    else
    {
        var hasTarget:Boolean = false;
        for(var i:int = 0; i < node.numChildren; i++)
        {
            hasTarget = hasTarget || hasChild(node.getChildAt(i));
        }
       return hasTarget;
    }
}