Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 Flex getElementByName_Actionscript 3_Apache Flex_Getelementsbytagname - Fatal编程技术网

Actionscript 3 Flex getElementByName

Actionscript 3 Flex getElementByName,actionscript-3,apache-flex,getelementsbytagname,Actionscript 3,Apache Flex,Getelementsbytagname,我知道Flex中没有getElementByName这样的函数,但我现在也知道,您可以这样做[“object_id”]来获取您所在应用程序的元素。 把一个元素放在另一个元素里面怎么样? 我试过制作元素[“id”]?但在我的try-catch中,它总是运行“catch”部分=\ 那么:如何在另一个元素中获取一个元素,使其id处于动态创建的字符串形式 提前感谢这取决于您试图访问的元素类型 可以通过调用访问子显示对象: element.getChildByName(“名称”) 公共变量(可设置为也包含

我知道Flex中没有getElementByName这样的函数,但我现在也知道,您可以这样做[“object_id”]来获取您所在应用程序的元素。 把一个元素放在另一个元素里面怎么样? 我试过制作
元素[“id”]
?但在我的try-catch中,它总是运行“catch”部分=\ 那么:如何在另一个元素中获取一个元素,使其id处于动态创建的字符串形式


提前感谢

这取决于您试图访问的元素类型

  • 可以通过调用访问子显示对象:
    element.getChildByName(“名称”)

  • 公共变量(可设置为也包含子显示对象)可通过以下方式访问:
    元素[“name”]

    或者简单地使用:
    element.name

  • (其中name是您尝试访问的属性的名称)


    请注意,如果在导出设置中选中了“自动声明阶段实例”选项,则拖动到Flash IDE中阶段的任何实例都将被删除。这就是为什么使用
    这个[name]
    有效的原因

    这取决于您试图访问的元素类型

  • 可以通过调用访问子显示对象:
    element.getChildByName(“名称”)

  • 公共变量(可设置为也包含子显示对象)可通过以下方式访问:
    元素[“name”]

    或者简单地使用:
    element.name

  • (其中name是您尝试访问的属性的名称)


    请注意,如果在导出设置中选中了“自动声明阶段实例”选项,则拖动到Flash IDE中阶段的任何实例都将被删除。这就是为什么使用
    这个[name]
    有效的原因

    如果我理解正确,您是在寻求一种方法来获取Flex应用程序中具有特定名称的所有“元素”

    下面是一个示例(Flex 3):


    您会注意到
    getDisplayObjectsByName()
    static
    。它所做的只是遍历显示列表(深度优先)并选择具有指定名称的所有对象。

    如果我理解正确,您是在寻求一种方法来获取Flex应用程序中具有特定名称的所有“元素”

    下面是一个示例(Flex 3):


    您会注意到
    getDisplayObjectsByName()
    static
    。它所做的只是遍历显示列表(深度优先)并选择具有指定名称的所有对象。

    如果要在中查找元素,可以使用以下功能:

    static function getElementByName(group:GroupBase, name:String):IVisualElement {
        const child:DisplayObject = group.getChildByName(name);
        const index:int = group.getChildIndex(child);
        return group.getElementAt(index);               
    }
    

    如果要在中查找元素,可以使用此函数:

    static function getElementByName(group:GroupBase, name:String):IVisualElement {
        const child:DisplayObject = group.getChildByName(name);
        const index:int = group.getChildIndex(child);
        return group.getElementAt(index);               
    }
    

    我说的是FLEX,没有舞台。我还讨论了UIComponents对象,它没有子对象,但是有元素。仅供参考,我现在正在使用一个TabNavigator。好吧,这是一个很好的信息-也许你应该在下次的问题中添加这个。无论如何,请查看UIComponent和tada的信息:它是DisplayObjectContainer的一个子类。。。在Flex中,即使您不幸地使用DisplayObjectContainers,也不确定addChild getChild removeChild是否有效……我在这里谈论的是Flex,没有阶段。我还讨论了UIComponents对象,它没有子对象,但是有元素。仅供参考,我现在正在使用一个TabNavigator。好吧,这是一个很好的信息-也许你应该在下次的问题中添加这个。无论如何,请查看UIComponent和tada的信息:它是DisplayObjectContainer的一个子类。。。在Flex中,即使您不幸地使用DisplayObjectContainers,也不确定addChild getChild removeChild是否有效……我现在无法测试它,但我提前向您表示感谢!顺便说一句,我只想在第一级的children中得到“foo”元素。所以只要VBox=)我想我只需要删除最后一个if语句,对吗?;)@AndreaSilvestri我已经将名称更改为“getDisplayObjectsByName”,以反映我们正在寻找的是
    DisplayObject
    s,而不是“元素”(如XML元素),并且还添加了一个
    recurse
    参数,默认为
    true
    。我现在不可能测试它,但我提前感谢您!顺便说一句,我只想在第一级的children中得到“foo”元素。所以只要VBox=)我想我只需要删除最后一个if语句,对吗?;)@AndreaSilvestri我已将名称更改为“getDisplayObjectsByName”,以反映这样一个事实,即我们正在查找
    DisplayObject
    s,而不是“元素”(如XML元素),并且还添加了一个
    recurse
    参数,默认情况下该参数为
    true
    static function getElementByName(group:GroupBase, name:String):IVisualElement {
        const child:DisplayObject = group.getChildByName(name);
        const index:int = group.getChildIndex(child);
        return group.getElementAt(index);               
    }