Sencha Touch 2:动态地将css类添加到模板中的div

时间:2012-06-13 11:07:30

标签: sencha-touch extjs sencha-touch-2 sencha-architect

假设我有一个带有以下itemTpl的数据视图

        itemTpl: [
        '<div class="category_entry_inner">',
        '    <div class="category_right">',
        '        <div class="category_quantity">{catQty}</div>',
        '    </div>',
        '    <div class="category_left">',
        '        <div class="category_left_content">',
        '            <div class="category_left_icon"></div>',
        '            <div class="category_left_text">{catName}</div>',
        '        </div>',
        '    </div>',
        '</div>'
    ],

现在我要做的是挂钩数据视图刷新事件,当被触发时,选择所有具有category_entry_inner的cas的div,并向所有这些div添加一个简单的类(.someclass {background:red})。

2 个答案:

答案 0 :(得分:0)

要选择所需的所有div,您可以

var divs = Ext.DomQuery.select('div[class=category_entry_inner]');

它将返回一个包含所有div的数组,然后你只需要遍历它们并添加一个类:

var i,j;
for(i=0,j=divs.length;i<j;i++){
    divs[i].className += " bar";
}

希望这有帮助

答案 1 :(得分:0)

var listObjs = Ext.DomQuery.select("div[class='category_entry_inner']");
Ext.Array.forEach(listObjs, function(elmnt, idx) {
    Ext.get(elmnt).clearListeners();
    Ext.get(elmnt).addListener('tap', this.yourfunctionname, this, {id:elmnt.id});
}, this);

这肯定是你的工作