在Alloy Titanium中按类选择项目

Kal*_*zem 4 titanium titanium-alloy

在Alloy Titanium中,我可以使用他们的id访问XML元素,$.element_id但是如何通过他们的类获取元素?

我有

<View id="main" layout="horizontal" horizontalWrap="true">
    <Button left="4%" width="125dp" height="125dp" backgroundImage="menus/woodblock.png"></Button>
    <Button left="13%" width="125dp" height="125dp" backgroundImage="menus/woodblock.png"></Button>
    <Button class="top30" left="4%" width="125dp" height="125dp" backgroundImage="menus/woodblock.png"></Button>
    <Button class="top30" left="13%" width="125dp" height="125dp" backgroundImage="menus/woodblock.png"></Button>
    <Button class="top30" left="4%" width="125dp" height="125dp" backgroundImage="menus/woodblock.png"></Button>
    <Button class="top30" left="13%" width="125dp" height="125dp" backgroundImage="menus/woodblock.png"></Button>
</View>
Run Code Online (Sandbox Code Playgroud)

我希望得到所有 class="top30"

dan*_*ula 7

Alloy中没有办法通过使用它们的类来直接访问视图,除非迭代屏幕上的所有可能视图并检查它们的className值.

如果您的所有视图class="top30"都是相同视图的子视图,则可以尝试使用Titanium.UI.View.children属性:

var i, view
for (i in $.main.children) {
    view = $.main.children[i];
    if (view.className === 'top30') {
        /* Do your operation here */
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 要获得CSS类型'class',您需要`view.classes`而不是`view.className`,至少在2015-08-30的当前版本的Titanium Alloy中. (3认同)
  • 有关Alloy即将推出的计划的信息,请观看本月早些时候在[tiConf 2014链接](http://www.tidev.io/2014/05/11/ticonf-us-roundup/)纽约市的Tony Lukasavage的"Alloy 2.0"演讲.向下滚动并在演讲者列表中查找他的名字.如果您不知道,Tony是Alloy的原作者.他现在正忙着为生产准备2.0. (2认同)