2009-07-09 6 views
0

Gibt es eine Möglichkeit, auf die DOM-Elemente einer mxml-Datei auf eine Weise zuzugreifen, die Sie in JS verwenden können (z. B. mit Prototype oder jQuery)?Zugriff auf mxml (Flex) DOM Elemente?

Ich muss wissen, ob ein Top-Level-Element ein Kind (Sub-Sub -...-Childs) mit einer bestimmten ID hat.

In JS (mit Prototyp) es so etwas wie wäre:

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

Irgendwelche Ideen?

Antwort

1

Sie können die Struktur rekursiv durchsuchen. So etwas wie diese (vielleicht nicht die effizienteste in Ihrem Fall):

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; 
    } 
}