设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2077|回复: 9
打印 上一主题 下一主题

[多媒体] 浅谈DOM之一:开篇

[复制链接]
跳转到指定楼层
1#
发表于 2015-7-3 13:16:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 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为扩展名的文件):
  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开篇。
      ……附件为普通网页文件。后面讲解选择器时再附上mdb文件。
      下一节

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2015-7-3 13:37:41 | 只看该作者
是的,用jquery实现树形还不如要封装好的,jquery用代码写树比写listview更费事,所以就借助了ztree的树来实现.黄海的百变加强版本就是完全靠代码实现。

点击这里给我发消息

3#
发表于 2015-7-3 13:41:46 | 只看该作者
我还以为要讲BOM,哈哈

点评

BOM不敢讲啊。那涉及太多东西了。哈哈  发表于 2015-7-3 13:49
4#
 楼主| 发表于 2015-7-3 13:48:37 | 只看该作者
leonshi 发表于 2015-7-3 13:37
是的,用jquery实现树形还不如要封装好的,jquery用代码写树比写listview更费事,所以就借助了ztree的树来 ...

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

是的
6#
发表于 2015-7-3 17:29:41 | 只看该作者
谢谢分享
回复

使用道具 举报

点击这里给我发消息

7#
发表于 2015-7-3 21:48:46 | 只看该作者
谢谢分享!
回复

使用道具 举报

8#
发表于 2015-7-5 22:35:53 | 只看该作者
access2003能用么?

点评

应该没问题。  发表于 2015-7-6 11:01
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-25 21:22 , Processed in 0.097063 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表