设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[多媒体] 浅谈DOM之三:选择器(2)

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

       前面说过了,标签名可以作为一个选择器来选择DOM元素。但是当标签很多的时候,例如一个页面比较复杂的时候,总不能一个个去数第几个标签吧?这时候怎么办?
       答案是:用另一种选择器,根据Class类和ID类来选择元素。这样一来,应该过滤掉不少元素了。所以这里,我们的网页文件也要稍稍修改一下:
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4.         <title>这是标题</title>
  5. </head>
  6. <body>
  7.         <div>
  8.                 <h1>标题1</h1>
  9.                 <div class="test" id="test">//这里改了。
  10.                         <p>内容</p>
  11.                 </div>
  12.         </div>
  13. </body>
  14. </html>
复制代码
        getElementsByClassName的写法跟前面的doc.getElementsByTagName类似,这里不再细说,请参考上一节。
  1. Private Sub cmdRead_Click()
  2. Dim wb As WebBrowser
  3. Dim doc As HTMLDocument

  4. Set wb = Me.WebBrowser0.Object
  5. Set doc = wb.Document

  6. MsgBox doc.getElementsByClassName("test").Item(0).innerText
  7. End Sub
复制代码
      同样地,我们还可以使用getElementById。需要注意的是:
  • ID在HTML里是唯一的,所以Element后面就没有“s”了。——如果不唯一的话,在应用Style或者使用选择器时应该会有一些问题,到底是应用到第一个元素还是最后一个就不得而知了。有兴趣的版友可以试试。
  • 同样因为这个问题,所以它返回的是一个DOM元素,因此,不需要使用Item属性了。具体见附件:
上一节 下一节

本帖子中包含更多资源

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

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

本版积分规则

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

GMT+8, 2024-11-29 18:20 , Processed in 0.099846 second(s), 26 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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