设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

浅谈DOM之一:开篇

2015-7-3 13:16| 发布者: admin| 查看: 2112| 评论: 7|原作者: roych|来自: www.office-cn.net

摘要: 其实,DOM并不是很神秘的东西。散见于论坛的不少帖子,从本质上来看,都算是DOM。例如todaynew的jQuery小品系列和webbrowser系列,盗梦的webbrowser讲解里也提及了一部分,leonshi的outlook多级导航系列等等。只是用 ...
       其实,DOM并不是很神秘的东西。散见于论坛的不少帖子,从本质上来看,都算是DOM。例如todaynew的jQuery小品系列和webbrowser系列,盗梦的webbrowser讲解里也提及了一部分,leonshi的outlook多级导航系列等等。只是用jQuery封装好的占多数,而原生态的太少,便觉得,是时候应该总结一下了。当然,我这里讲的是VBA里的DOM,但它基本上同样适用于JavaScript,只是写法迥异而已。

       讲DOM必然涉及HTML,但我不会讲解HTML里每个元素各代表什么,有哪些属性,——有兴趣的版友请自行学习,——而是提供一种如何使用DOM方法来处理元素。毕竟,这个系列不是写给前端工程师看的。

       那么,什么是DOM?DOM的字面定义是:文档对象模型(DocumentObject Model)的简称。这里的文档特指网页文档。文档对象指的自然是网页元素了,如,图像、文字等等。其模型是一个什么样的模型呢?我们先来看看一个HTML文件(将以下代码保存为htm或html为扩展名的文件):
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4.         <title>这是标题</title>
  5. </head>
  6. <body>
  7.         <div>
  8.                 <h1>标题1</h1>
  9.                 <div>
  10.                         <p>内容</p>
  11.                 </div>
  12.         </div>
  13. </body>
  14. </html>
复制代码
       看到层次这么分明的嵌套结构,大家想到了什么?树结构!回答正确!大家可以用浏览器打开一个网页,然后右击页面,在弹出的菜单中选择“检查元素”(或“审查元素”),便可以看到这种树结构。

       既然DOM是一种树结构,那么,我们是不是可以像操作树控件那样来操作它呢?答案是肯定的,完全可以像操作树控件那样读取节点,任意增删改节点。——当然,也不应胡来,例如,把head移到body后面。

      由此我们可以知道,DOM可以做什么了:
  • 既然可以读取节点,自然就能通过读取页面的节点来获取页面某些特定信息。——“网页信息抓取”由此而生。
  • 对节点的增删改类似于树控件的增删改,树控件一般用来做什么?菜单导航。所以,我们也可以据此来设计页面。论坛鼎鼎有名的“通用开发平台”用的导航菜单用的是jQuery控件,而jQuery只是封装了DOM对象的JavaScript框架,所以从这一点来看,它操作的归根到底还是DOM。就好比素颜时是DOM对象,化妆之后便成了jQuery。
    今天先到这里,是为DOM开篇。
      test.rar……附件为普通网页文件。后面讲解选择器时再附上mdb文件。
      下一节
发表评论

最新评论

引用 leonshi 2015-7-3 13:37
是的,用jquery实现树形还不如要封装好的,jquery用代码写树比写listview更费事,所以就借助了ztree的树来实现.黄海的百变加强版本就是完全靠代码实现。
引用 盗梦 2015-7-3 13:41
我还以为要讲BOM,哈哈
引用 roych 2015-7-3 13:48
leonshi 发表于 2015-7-3 13:37
是的,用jquery实现树形还不如要封装好的,jquery用代码写树比写listview更费事,所以就借助了ztree的树来 ...

jQuery只是一个选择器,做界面时肯定要结合一些UI或者插件才方便使用。否则还不如直接用原生态的JavaScript,——这样顶多只是需要写一些代码检测浏览器版本,但可能会更条理清晰一些。
引用 leonshi 2015-7-3 14:19
roych 发表于 2015-7-3 13:48
jQuery只是一个选择器,做界面时肯定要结合一些UI或者插件才方便使用。否则还不如直接用原生态的JavaScri ...

是的
引用 风中漫步 2015-7-3 17:29
谢谢分享
引用 tmtony 2015-7-3 21:48
谢谢分享!
引用 dragonszr 2015-7-5 22:35
access2003能用么?

查看全部评论(7)

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-25 07:52 , Processed in 0.080955 second(s), 24 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

返回顶部