我有一个菜单组件,我试图通过添加一个类来选择所选链接,然后从所有菜单项中删除该类,然后再将其添加到新单击的链接中。
所以我只是找到父组件并查询它以查找所有锚点。然后我尝试chx所有锚的类,并删除那些“选定”类的一个/。
var anchors = component.el.query("a");
Ext.iterate(anchors, function(anchor, i){
anchor.removeClass('selected');
});
this.el.addClass('selected');
不起作用。然而:
var anchors = component.el.query("a");
Ext.iterate(anchors, function(anchor, i){
$(anchor).removeClass('selected');
});
this.el.addClass('selected');
有效吗? 什么是Ext本机相当于使这个工作?
答案 0 :(得分:0)
使用ExtJS 3,您的锚点[index]将返回该特定节点的HTML。要使用addClass
或removeClass
,您需要使用anchors.item(index);
这样的事情会起作用:
Ext.onReady(function(){
var div = Ext.get('test'),
anchors = div.select("a"),
linkChangeClass = function (anchors, anchor) {
var index = anchors.indexOf(anchor);
anchors.removeClass('selected');
anchors.item(index).addClass('selected');
};
anchors.on('click', function() {
linkChangeClass(anchors, this);
});
});