想象一下以下HTML:
<div class="TheChef">
<div class="ChefRestaurant">
<a class="ChefLink" href="#">Expensive Restaurant</a>
</div>
<div class="ChefName">
<a class="ChefLink" href="#">Gordon Ramsey</a>
</div>
</div>
在下面的代码中,我在VBA中使用getElementsByClassName从元素中获取innerHTML:
Dim oHtml As HTMLDocument
Dim oElement As Object
Set oHtml = New HTMLDocument
With CreateObject("WINHTTP.WinHTTPRequest.5.1")
.Open "GET", "http://www.example.net", False
.send
oHtml.body.innerHTML = .responseText
End With
For Each oElement In oHtml.getElementsByClassName("RestaurantTown")
strTown = oElement.innerHTML
Next oElement
但是,我需要从ChefRestaurant&amp; ChefName元素。
我想知道oHtml.getElementsByClassName(&#34; ChefName&#34;)。getElementsByClassName(&#34; ChefLink&#34;)但这不起作用。
我该怎么做?
由于
答案 0 :(得分:0)
.getElementsByClassName
方法返回节点集合,您应该从索引中选择集合中的节点,然后再次调用该方法:
oHtml.getElementsByClassName("ChefName")(0).getElementsByClassName("ChefLink")(0)
答案 1 :(得分:0)
document.getElementsByClassName("ChefLink")
为您提供[<a class="ChefLink" href="#">Expensive Restaurant</a>, <a class="ChefLink" href="#">Gordon Ramsey</a>]
虽然document.getElementsByClassName("ChefLink")[1]
仅为您提供了第二个元素<a class="ChefLink" href="#">Gordon Ramsey</a>
我希望这会有所帮助