extjs-query(组件,dom)

1、在自己extjs前端开发的过程中常常用到就是组件的查找,找到后就很方便对组件进行操作,所以就在此自己总结了一些组件查询的方法。
2、还有一些dom的查找方法,意义之一:就是对页面文字的修改,当然会有其他用途了。
3、详细的请参考extjs4.1apiextjs4.1中文api

Ext.onReady(function(){
    Ext.define('form',{
        extend : Ext.form.Panel,
        title : 'mainform',
        id : 'mainform',
        name : 'mainform',
        //height : '200',
        width : '20%',
        frame : true,
        //layout : 'auto',
        //defaultType: 'textfield',
        items: [{
            xtype: 'fieldcontainer',
            fieldLabel: 'Your Name',
            labelStyle: 'font-weight:bold;padding:0;',
            layout: 'anchor',
            defaultType: 'textfield',
            id:'fieldcontainer_1',
            fieldDefaults: {
                labelAlign: 'top'
            },
            items: [{
                name: 'firstName',
                flex : 0.5,
                itemId: 'firstName',
                anchor:'80%',
                fieldLabel: 'First',
                allowBlank: false
            }]
        },{
            xtype: 'textfield',
            id : 'textfield_1',
            fieldLabel: 'First Name',
            name: 'first',
            width :200,
            value : 'First',
            allowBlank: false,
            tooltip: 'Enter your first name'
        },{
            xtype: 'textfield',
            id : 'textfield_2',
            fieldLabel: 'Last',
            name: 'last',
            allowBlank: false,
            value : 'Last',
            tooltip: 'Enter your last name'
        }],
        html:'<ul><li>item1</li><li>item2</li></ul><div id="d1"><span style="color:red;" id="sp">dom</span><br/><span class="mycolor">span</span></div>',

        renderTo:Ext.getBody(),
    })
    Ext.create('form')

    //Ext.getCmp( String id )是Ext.ComponentManager.get方法的简写
    Logger.printfcom(Ext.getCmp('mainform').title)

    //Ext.ComponentQuery.query( String selector, Ext.container.Container root ) : Ext.Component[]
    //返回一个数组,从内传入根对象匹配的组件。
    Logger.printfcom(Ext.ComponentQuery.query('[name=first]')[0].getValue())

    //Ext.AbstractComponent
    //up( [String selector] ) : Ext.container.Container
    //沿着 ownerCt 查找匹配简单选择器的祖先容器.
    Logger.printfcom(Ext.getCmp('textfield_1').up('form').title)
    Logger.printfcom(Ext.getCmp('textfield_1').ownerCt.title)

    //Ext.container.AbstractContainer
    //down( [String selector] )
    //检索容器的第一层子组件. 匹配选项必须是一个符合Ext.ComponentQuery的选择器.
    Logger.printfcom(Ext.getCmp('mainform').down('[name=firstName]').fieldLabel);

    //Ext.container.AbstractContainer
    //query( [String selector] ) : Ext.Component[]
    //用匹配选项检索容器的结构树. 执行一个 Ext.ComponentQuery方法.当前容器作为根节点.
    Logger.printfcom(Ext.getCmp('mainform').query('[name=firstName]')[0].fieldLabel);

    //Ext.AbstractComponent
    //nextNode( [String selector] ) : Ext.Component
    //返回在树的遍历顺序的下一个节点的组件.
    //注意 这并不限定于同级, 如果在同级找不到匹配节点, 会遍历树 尝试找到一个匹配节点. 对比 nextSibling.
    Logger.printfcom(Ext.getCmp('fieldcontainer_1').nextNode('[allowBlank=false]').getValue());

    //Ext.AbstractComponent
    //nextSibling( [String selector] ) : Ext.Component
    //返回此组件的下一个同级组件.
    Logger.printfcom(Ext.getCmp('fieldcontainer_1').nextSibling('[allowBlank=false]').getValue());


    //Ext.query( String path, [HTMLElement root], [String type] ) : HTMLElement[]
    //Ext.dom.Query.select的简写
    Logger.printf(Ext.query("span[@id=sp]")[0].innerHTML)
    Logger.printf(Ext.query("span[@id=mainform_header_hd-textEl]")[0].innerHTML='helloworld')

    //Ext.fly( String/HTMLElement dom, [String named] ) : Ext.dom.AbstractElement.Fly
    //获取单例 flyweight 元素,与传递作为活动元素的节点。
    Logger.printf(Ext.fly("sp").dom.innerHTML)

    //Ext.get( String/HTMLElement/Ext.Element el ) : Ext.dom.Element
    //检索Ext.dom.Element对象。get是Ext.dom.Element.get的别名。
    Logger.printf(Ext.get("sp").dom.innerHTML)

    //Ext.getDom( String/HTMLElement/Ext.Element el )
    //返回dom对象,参数可以是string(id),dom节点,或Ext.Element。
    Logger.printf(Ext.getDom("sp").innerHTML)
})



    //记录器
    Ext.define('Logger', {
        singleton: true,
        log: function(msg) {
            console.log(msg);
        },
        printf : function(msg){
            this.log(Ext.id('','num:')+'   '+msg);
        },
        printf2 : function(val,msg){
            this.printf(val+'--'+msg);
        },
        printfcom :function(msg){
            this.printf2('组件',msg)
        } 
    });
    Logger.log('Hello');

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值