设为首页收藏本站Access中国
Office中国(www.office-cn.net),专业Office论坛

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

浅谈DOM之二:选择器(1)

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

摘要: DOM操作的是网页元素,显然,我们需要一个网页脚本的运行环境。那么显然,我们可以选择IE、火狐等等作为运行环境。不过,我们还有一个更好的选择,就是Access内置的Webbrowser控件(需要恶补相关知识版友请点击这里 ...
       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
复制代码
test.rar上一节 下一节

最新评论

关闭

站长推荐上一条 /6 下一条

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

GMT+8, 2018-8-22 10:13 , Processed in 0.075225 second(s), 25 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

返回顶部