经过几天的学习研究,发现ext与jquery的设计思路完全是来自两个方向。

jquery是内聚,把所有东西都放在$的下面,而ext是采用分模块的设计思路,每个功能封装一个库。这样就形成了各自的实用风格,jquery由于所有的功能都挂在$下面,所以这种扁平而精炼的功能布局让人能很快上手;但是ext就不一样的,由于各个模块间还有相互调用的关系,所以内部关系是错中复杂。按原理来说ext的各模块是可以单独使用的,但是这个真的实施起来是相当费劲的。所以我觉得jquery更像一个好秘书,你说一句话她就能帮你完成dom的那一摊子事,ext就更像一个老婆,你只能爱她一个,什么事都要围着她转,其他的框架只能给你做小秘,其核心地位绝对不能撼动,否则她会让你死的很难看。

以上是总体的思路,有了这个思路理解和使用具体的功能就会顺心多了。

Ext.Element 、Ext.DomHelper、Ext.DomQuery三个支柱性库。

Ext.Element:

Ext.Element.get()快捷方式Ext.get(),只能以dom的id作为参数去获取Ext.Element对象(Ext.get返回的结果是Ext.Element对象的实例, .dom才是原生的dom)。在Ext中所有组件都是有Id的,这个Id可以是手动指定,也可以是Ext的Id生成机制自动生成。

Ext.DomHelper:

主要是操作dom。

Ext.DomHelper.append()是一个很常用的方法,值得一提的是由于Ext采用了对象缓存机制,在MVC模式下在不同的tab切换的时候如果重新渲染dom,使用Ext.DomHelper.append()添加的元素不会丢失,但是使用原生或者其他框架(比如jq)就会丢失。这就是我说她像一个的老婆原因之一。看几个用法:

一、直接字符串

Ext.DomHelper.append(元素id,'<a href="#">你好</a>');

二、对象

Ext.DomHelper.append(元素id,{tag:ul,children:[{tag:li,html:'一个ul列表的第一项'},{...}]});

Ext.DomHelper.insertHtml()另一个很常用的方法

Ext.DomHelper.insertHtml(位置参数,dom,'<a href="#">你好</a>');

位置参数:beforeBegin、afterBegin、beforeEnd、afterEnd

Ext.DomHelper.overwrite(dom的id,'<a href="#">你好</a>');相当于原生的 .innerHtml="";所以是重写容器中的内容。

var tpl = Ext.DomHelper.createTemplate("<li>{content}</li>");

tpl.overwrite(domID,{content:'内容'});

引用文件有问题,会报错

还有另一种用法:

var tpl = new Ext.DomHelper.createTemplate({tag:"li",html:"{content}"});,同样的报错...哪位大神路过望指点

如果是列表,那就要借助for循环append了。

Ext.DomQuery 查找dom元素的利器

Ext.query('div')、Ext.query('[id="domId"]')、Ext.query('div:first-child').支持绝大部分的CSS3选择器

Ext.query() 是Ext.DomQuery.select()的快捷方式, 返回标准dom。

转载于:https://www.cnblogs.com/longze/p/3297627.html

extjs 关于dom操作的几个库相关推荐

  1. ihtml2document能不能根据id获取dom_回到基础:什么是DOM及DOM操作?

    译者:前端小智 来源:valentinog 为了保证的可读性,本文采用意译而非直译. 文本主要介绍文档对象模型(DOM),了解什么是DOM操作,以及如何使用砶 DOM API 与 JS 中的 Web ...

  2. 什么是DOM及DOM操作?

    什么是 DOM ? DOM(文档对象模型)是针对于xml但是扩展用于HTML的应用程序编程接口,定义了访问和操作HTML的文档的标准. W3C文档对象模型是中立于平台和语言之间的接口,它允许程序和脚本 ...

  3. MV* 框架 与 DOM操作为主 JS库 的案例对比

    最近分别使用 Zepto 和 Avalon框架写了个 SPA项目,贴出来讨论下 JS DOM操作为主 JS库 与 MV* 框架的对比 案例(MV* 框架 与 DOM操作 JS库 实例对比) 购物车页面 ...

  4. jQuery库的简单使用:jQuery中的 DOM 操作,增删改查,复制,替换,包裹,属性和样式操作

    jQuery中的 DOM 操作 查 查找属性节点: 通过 jQuery 选择器完成. 操作属性节点: 查找到所需要的元素之后, 可以调用 jQuery 对象的 attr() 方法来获取它的各种属性值 ...

  5. 为什么DOM操作很慢

    转自:http://kb.cnblogs.com/page/534571/ 一直都听说DOM很慢,要尽量少的去操作DOM,于是就想进一步去探究下为什么大家都会这样说,在网上学习了一些资料,这边整理出来 ...

  6. pyV8不支持dom操作,关于PyV8的支持DOM的疑问

    pyV8不支持dom操作,关于PyV8的支持DOM的疑问 PYV8只支持纯js语句.不过官方提供了w3c.py以及brower.py,可以基于此来完成,但这个用起来还是比较麻烦. 在爬取网站时,需要提 ...

  7. 关于 DOM 操作的几个类型

    DOM是Document Object Model的缩写,意思是文档对象模型,是由W3C制定的一套访问和操作XML(eXtensible Markup Language)文档的标准,即API.比如DO ...

  8. java与jquery的选择器区别_java day44【JQuery 基础:概念,快速入门,JQuery对象和JS对象区别与转换,选择器,DOM操作,案例】...

    第一章JQuery 基础 1. 概念: 一个JavaScript框架.简化JS开发 * jQuery是一个快速.简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScrip ...

  9. DOM操作 append prependTo after before

    通过JavaScript可以很方便的获取DOM节点,从而进行一系列的DOM操作.但实际上一般开发者都习惯性的先定义好HTML结构,但这样就非常不灵活了. 试想下这样的情况:如果我们通过AJAX获取到数 ...

最新文章

  1. (解释)单片机与各种外围设备(Flash、RAM、网络控制器、A/D、传感器、MCU等)进行直接串行通信通常采用( D)接口
  2. html中content属性,CSS3的content属性用法详解
  3. MDX学习笔记(整理) MDX语法
  4. 08_传智播客iOS视频教程_Foundation框架
  5. Maven私服搭建(Nexus Repository Manager 3)
  6. linux ftp图片服务器,linux ftp 图片服务器
  7. Spring中的后置处理器BeanPostProcessor讲解
  8. 支持mysql的报表开发工具_你不知道的mysql的3W法,内附超好用的报表工具
  9. SpringBoot 集成 mybatisPlus
  10. 红橙Darren视频笔记 条件查询 删除 更新,数据库结合http做缓存机制(数据库操作)下
  11. MQTT 控制报文类型、功能及格式(报文结构) - 第2章
  12. 工业控制pc是微型计算机,微型计算机工业控制.doc
  13. uniity3d进行磕碰检测并在磕碰时发送音讯
  14. 同一个服务器装oracle,windows下同一台服务器上装有两个ORACLE数据库实例,通过命令启停数据库...
  15. 计算机图像相关应用研究,计算机图像处理技术的应用探讨.pdf
  16. 加速应用开发 | Firebase Summit 2021 精彩回顾
  17. math库是python语言的数学模块对不对_12.下列属于math库中的数学函数的是( )。
  18. 人物志 | 美团女技术总监任登君:不要给自己的人生设限
  19. python复制excel模板并保留表格样式
  20. hbase 预分区设计

热门文章

  1. 武汉三首,记录备忘,写的不好,以后再改
  2. 优先队列与Heap的小结
  3. codis codis-ha主从切换后服务器标记为offline
  4. 【软件使用技巧】PL/SQL Developer实现双击table询
  5. java新手的第一个小东西,或许小东西都算不上=。 =
  6. ospf多区域路由实验
  7. SGU 201 Non Absorbing DFA (DP)
  8. 每天一个新标签/方法/属性/兼容性/问题
  9. MVP Open Day小记
  10. 佳士得于5月19日至27日以NFT形式拍卖安迪·沃霍尔作品