vba取得當前元素的值

2021-08-22 10:28:44 字數 2230 閱讀 7992

如下圖我要取得當前元素a的值67896.由於這個網頁不是很標準..值沒有包含在元素裡,無法直接取到。當然要是用正則或者split這種肯定是能解決的。 我這裡只是學習下jquery的解法。

strtext="12367896876

"

",這樣就可以了。**如下,然而並未得到預期的結果:

sub test1()

dim odom as object, owindow as object, strtext as string

set odom = createobject("htmlfile")

set owindow = odom.parentwindow

strtext = "12367896876

" odom.write ""

odom.body.innerhtml = strtext

msgbox owindow.eval("$('a').text()")

end sub

執行後結果是把所有的包括後代的值都包含在裡面了:

然後我又研究學習了下:利用刪除後代的方法,找到當前元素的值。jquery寫法:$('a').children().remove().end().text().這個在後代比較多的時候應該效率是比較低的。不過vba裡面也是夠用了,呵呵,解決了問題就是好的。完整的**如下:

sub test2()

dim odom as object, owindow as object, strtext as string

set odom = createobject("htmlfile")

set owindow = odom.parentwindow

strtext = "12367896876

" odom.write ""

odom.body.innerhtml = strtext

msgbox owindow.eval("$('a').clone().children().remove().end().text()")

end sub

執行結果如下,達到了我想要的結果:

後來學習了下。發現遍歷節點就可以實現 我的要求。節點的型別有3類。1表示元素,2表示屬性,3表示文字。基本我們需要的就是找到nodetype為3的節點就可以了。實現**如下,沒有使用jquery的寫法:

sub test3()

dim odom as object, owindow as object, strtext as string

set odom = createobject("htmlfile")

set owindow = odom.parentwindow

strtext = "12367896876

" odom.body.innerhtml = strtext

set a = odom.getelementsbytagname("a")(0) '取得節點a

for each e in a.childnodes

if e.nodetype = 3 then msgbox e.data: exit for

next

end sub

下面再寫一下jquery的**:

sub test3()

dim odom as object, owindow as object, strtext as string

set odom = createobject("htmlfile")

set owindow = odom.parentwindow

strtext = "12367896876

" odom.write ""

odom.body.innerhtml = strtext

msgbox owindow.eval("$('a').contents().filter(function()).text()")

end sub

一樣得到了我想要的答案。可惜聽說jquery黯然落幕了。希望會出現更好的工具吧、

JS 取得當前時間日期

var mydate new date mydate.getyear 獲取當前年份 2位 mydate.getfullyear 獲取完整的年份 4位,1970 mydate.getmonth 獲取當前月份 0 11,0代表1月 mydate.getdate 獲取當前日 1 31 mydate.get...

在XSL中取得當前時間

在xsl 中怎麼顯示當前時間,可以使用微軟的xsl 命名空間定義 一種是url 命名空間命名法 xmlns msxsl http www.w3.org tr wd xsl 一種是urn 命名空間命名法 xmlns msxsl urn schemas microsoft com xslt 具體 如下,...

取得當前滑鼠的X,Y座標

為了讓滑鼠移到小圖上顯示大圖,我利用滑鼠事件新建了乙個層來顯示大圖.當然之前最好得到xy座標 取得當前滑鼠的x,y座標 function selfxy else if document.documentelement document.documentelement.scrolltop docume...