改变一个类的属性

时间:2017-09-05 22:50:04

标签: javascript xml appcelerator

<View id="vContenedor" layout="">
    <Label id="lNumero"></Label>
    <TextField id="tFNumero" ></TextField>
    <View id="vNumero" class="lineas" ></View>
    <Label id="lFecha" ></Label>
    <TextField id="tFFecha" ></TextField>
    <View id="vFecha" class="lineas" ></View>
    <Label id="lCVV" ></Label>
    <TextField id="tFCVV" ></TextField>
    <View id="vCVV" class="lineas" ></View>
</View>

我想更改视图的子项,但我找不到访问该类的方法。我试过className它已经不再适用了。我知道我可以通过$."id"访问,但我想使用类标识符或一些单数。

2 个答案:

答案 0 :(得分:0)

您无法在appcelerator钛中更改类的属性。你也不能动态添加一个类。但是,您可以创建样式并将其添加到元素中,您可以按照this link

答案 1 :(得分:0)

由于任何元素的类属性都是多值属性,因为它可以包含对任意数量的类的引用,因此它永远不应该用作条件。以下是您尝试做或想要做的推荐方式:

<强> XML:

    <View id="vContenedor" layout="">
        <Label id="lNumero" />
        <TextField id="tFNumero" />
        <View id="vNumero" class="lineas" customLine='1' />

        <Label id="lFecha" />
        <TextField id="tFFecha" />
        <View id="vFecha" class="lineas" />

        <Label id="lCVV" />
        <TextField id="tFCVV" />
        <View id="vCVV" class="lineas" customLine='0' />
    </View>

<强> JS: 下划线方式:)

_.each($.vContenedor.children, function (tempChild) {
    if ( _.has(tempChild, 'customLine') ) {
        var custom = parseInt(tempChild.customLine);

        if (1 == custom) {
            // do run your code here....
        }
    }
});

以上代码将针对所有 View 元素运行,这些元素具有 customeLine 属性&amp;值为1。