试图按标签<a> and attribute &#34;class&#34; equals (something) using DOM and VBS</a>获取元素

时间:2013-02-18 13:34:54

标签: html dom vbscript

我在html文件中有很多标签,我想用一个名为'class'的属性提取所有的锚标签,其值为'ASCE-url'(有很多) 它们看起来像这样;

<A class=ASCE-Url href="../SafetyArgument/N2150158.htm">sub-section</A>

如何编写与此条件相对应的DOM语句,以提取我可以迭代的元素集合?

W3网站有类似的代码;

txt=xmlDoc.getElementsByTagName("title")[0].getAttribute("lang")

但是,要使其正常工作,需要在方括号中提供一个数字,为​​此,我需要知道符合条件的元素数量。

我发现了一段返回返回元素长度的javascript;

var elements = document.getElementsByTagName("input");
var ElmLength = elements.length

但是,VBS无法识别命令长度,是否有替代此命令的VBS?

1 个答案:

答案 0 :(得分:1)

Length适用于VBScript。 getAttribute("class")也不起作用,但element.className。这是示例代码。

<html>
 <head>
  <title>AAA</title>
  <script type="text/vbscript">
    Sub Window_Onload
        Set objElms = Document.getElementsByTagName("a")
        MsgBox "A.Length: " & objElms.Length
        For Each objElm In objElms
            If objElm.className = "ASCE-Url" Then
                'do what you need here...
                objElm.innerHTML = objElm.innerHTML & " - found"
            End If
        Next
    End Sub

  </script>
 </head>
 <body>

   <a class=ASCE-Url href="#">A</a><br>
   <a class=ASCE-Url href="#">B</a><br>
   <a class=ASCE-XYZ href="#">C</a><br>
   <a class=ASCE-Url href="#">D</a><br>
   <a class=ASCE-Url href="#">E</a><br>

 </body>
</html>