Office中国论坛/Access中国论坛
标题: 浅谈DOM之一:开篇 [打印本页]
作者: roych 时间: 2015-7-3 13:16
标题: 浅谈DOM之一:开篇
本帖最后由 roych 于 2015-7-3 14:54 编辑
其实,DOM并不是很神秘的东西。散见于论坛的不少帖子,从本质上来看,都算是DOM。例如todaynew的jQuery小品系列和webbrowser系列,盗梦的webbrowser讲解里也提及了一部分,leonshi的outlook多级导航系列等等。只是用jQuery封装好的占多数,而原生态的太少,便觉得,是时候应该总结一下了。当然,我这里讲的是VBA里的DOM,但它基本上同样适用于JavaScript,只是写法迥异而已。
讲DOM必然涉及HTML,但我不会讲解HTML里每个元素各代表什么,有哪些属性,——有兴趣的版友请自行学习,——而是提供一种如何使用DOM方法来处理元素。毕竟,这个系列不是写给前端工程师看的。
那么,什么是DOM?DOM的字面定义是:文档对象模型(DocumentObject Model)的简称。这里的文档特指网页文档。文档对象指的自然是网页元素了,如,图像、文字等等。其模型是一个什么样的模型呢?我们先来看看一个HTML文件(将以下代码保存为htm或html为扩展名的文件):
- <!DOCTYPE html>
- <html>
- <head>
- <title>这是标题</title>
- </head>
- <body>
- <div>
- <h1>标题1</h1>
- <div>
- <p>内容</p>
- </div>
- </div>
- </body>
- </html>
复制代码 看到层次这么分明的嵌套结构,大家想到了什么?树结构!回答正确!大家可以用浏览器打开一个网页,然后右击页面,在弹出的菜单中选择“检查元素”(或“审查元素”),便可以看到这种树结构。
既然DOM是一种树结构,那么,我们是不是可以像操作树控件那样来操作它呢?答案是肯定的,完全可以像操作树控件那样读取节点,任意增删改节点。——当然,也不应胡来,例如,把head移到body后面。
由此我们可以知道,DOM可以做什么了:
- 既然可以读取节点,自然就能通过读取页面的节点来获取页面某些特定信息。——“网页信息抓取”由此而生。
- 对节点的增删改类似于树控件的增删改,树控件一般用来做什么?菜单导航。所以,我们也可以据此来设计页面。论坛鼎鼎有名的“通用开发平台”用的导航菜单用的是jQuery控件,而jQuery只是封装了DOM对象的JavaScript框架,所以从这一点来看,它操作的归根到底还是DOM。就好比素颜时是DOM对象,化妆之后便成了jQuery。
今天先到这里,是为DOM开篇。
[attach]56741[/attach]……附件为普通网页文件。后面讲解选择器时再附上mdb文件。
下一节
作者: leonshi 时间: 2015-7-3 13:37
是的,用jquery实现树形还不如要封装好的,jquery用代码写树比写listview更费事,所以就借助了ztree的树来实现.黄海的百变加强版本就是完全靠代码实现。
作者: 盗梦 时间: 2015-7-3 13:41
我还以为要讲BOM,哈哈
作者: roych 时间: 2015-7-3 13:48
jQuery只是一个选择器,做界面时肯定要结合一些UI或者插件才方便使用。否则还不如直接用原生态的JavaScript,——这样顶多只是需要写一些代码检测浏览器版本,但可能会更条理清晰一些。
作者: leonshi 时间: 2015-7-3 14:19
是的
作者: 风中漫步 时间: 2015-7-3 17:29
谢谢分享
作者: tmtony 时间: 2015-7-3 21:48
谢谢分享!
作者: dragonszr 时间: 2015-7-5 22:35
access2003能用么?
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) |
Powered by Discuz! X3.3 |