Office中國(guó)論壇/Access中國(guó)論壇

 找回密碼
 注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

淺談DOM之二:選擇器(1)

2015-7-3 13:16| 發(fā)布者: admin| 查看: 1974| 評(píng)論: 0|原作者: roych|來(lái)自: m.mzhfr.cn

摘要: DOM操作的是網(wǎng)頁(yè)元素,顯然,我們需要一個(gè)網(wǎng)頁(yè)腳本的運(yùn)行環(huán)境。那么顯然,我們可以選擇IE、火狐等等作為運(yùn)行環(huán)境。不過(guò),我們還有一個(gè)更好的選擇,就是Access內(nèi)置的Webbrowser控件(需要惡補(bǔ)相關(guān)知識(shí)版友請(qǐng)點(diǎn)擊這里 ...
       DOM操作的是網(wǎng)頁(yè)元素,顯然,我們需要一個(gè)網(wǎng)頁(yè)腳本的運(yùn)行環(huán)境。那么顯然,我們可以選擇IE、火狐等等作為運(yùn)行環(huán)境。不過(guò),我們還有一個(gè)更好的選擇,就是Access內(nèi)置的Webbrowser控件(需要惡補(bǔ)相關(guān)知識(shí)版友請(qǐng)點(diǎn)擊這里)。

       確定了運(yùn)行環(huán)境之后,我們就開(kāi)始使用DOM吧。
       我們沿用上一節(jié)的文件,在窗體上插入一個(gè)Webbrowser控件,然后增加加載事件。這樣就可以把網(wǎng)頁(yè)加載到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
復(fù)制代碼
      第一種選擇器:getElementsByTagName【注:考慮到兼容性,IE6專用的document.all("p")之類就不說(shuō)了】
       這是一種根據(jù)標(biāo)簽名來(lái)選擇元素的選擇器。例如,我們需要選擇p元素,就可以使用:document.getElementsByTagName("p")。需要注意的是,這是選擇了所有的p元素。如果需要選擇第一個(gè)怎么辦?那么只能用item下標(biāo)(DOM的下標(biāo)是從0開(kāi)始的)來(lái)表示了。
       如果需要選擇它的文本,則可以通過(guò)innerText或者TextContent屬性來(lái)實(shí)現(xiàn)。需要說(shuō)明的是,innerText并非EMCAScript(即JavaScript)的標(biāo)準(zhǔn),但I(xiàn)E及火狐均支持這一屬性。它們的區(qū)別在于,TextContent是移除標(biāo)簽后的文本,而innerText則會(huì)根據(jù)實(shí)際重新排列過(guò),例如內(nèi)置文本有分行時(shí)。
      
       選擇是解決了。那么,對(duì)DOM增刪改怎么辦?我們至少有兩種辦法:修改HTML代碼,或者處理節(jié)點(diǎn)。我們這里先從簡(jiǎn)單的修改HTML代碼說(shuō)起。假定不需要增加節(jié)點(diǎn)的話,我們可以重新設(shè)置innerText,否則就應(yīng)該修改innerHTML了。例如:
  1. Private Sub cmdCreate_Click()
  2. Dim wb As WebBrowser
  3. Dim doc As HTMLDocument
復(fù)制代碼
test.rar上一節(jié) 下一節(jié)

最新評(píng)論

QQ|站長(zhǎng)郵箱|小黑屋|手機(jī)版|Office中國(guó)/Access中國(guó) ( 粵ICP備10043721號(hào)-1 )  

GMT+8, 2025-7-13 02:57 , Processed in 0.099679 second(s), 23 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

返回頂部