设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[多媒体] 浅谈DOM之二:选择器(1)

[复制链接]
跳转到指定楼层
1#
发表于 2015-7-3 14:53:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 roych 于 2015-7-3 16:45 编辑

       DOM操作的是网页元素,显然,我们需要一个网页脚本的运行环境。那么显然,我们可以选择IE、火狐等等作为运行环境。不过,我们还有一个更好的选择,就是Access内置的Webbrowser控件(需要恶补相关知识版友请点击这里)。

       确定了运行环境之后,我们就开始使用DOM吧。
       我们沿用上一节的文件,在窗体上插入一个Webbrowser控件,然后增加加载事件。这样就可以把网页加载到webbrowser里了:
  1. Private Sub Form_Load()
  2. '定义webbrowser和html文档
  3. Dim wb As WebBrowser
  4. Dim doc As HTMLDocument

  5. Set wb = Me.WebBrowser0.Object
  6. wb.Navigate CurrentProject.Path & "\test.html"
  7. Set doc = wb.Document
  8. End Sub
复制代码
      第一种选择器:getElementsByTagName【注:考虑到兼容性,IE6专用的document.all("p")之类就不说了】
       这是一种根据标签名来选择元素的选择器。例如,我们需要选择p元素,就可以使用:document.getElementsByTagName("p")。需要注意的是,这是选择了所有的p元素。如果需要选择第一个怎么办?那么只能用item下标(DOM的下标是从0开始的)来表示了。
       如果需要选择它的文本,则可以通过innerText或者TextContent属性来实现。需要说明的是,innerText并非EMCAScript(即JavaScript)的标准,但IE及火狐均支持这一属性。它们的区别在于,TextContent是移除标签后的文本,而innerText则会根据实际重新排列过,例如内置文本有分行时。
      
       选择是解决了。那么,对DOM增删改怎么办?我们至少有两种办法:修改HTML代码,或者处理节点。我们这里先从简单的修改HTML代码说起。假定不需要增加节点的话,我们可以重新设置innerText,否则就应该修改innerHTML了。例如:
  1. Private Sub cmdCreate_Click()
  2. Dim wb As WebBrowser
  3. Dim doc As HTMLDocument
复制代码
上一节 下一节

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-19 13:14 , Processed in 0.078500 second(s), 25 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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