IE 9中的VB脚本语法问题

时间:2014-04-08 17:58:07

标签: html internet-explorer vbscript

当我尝试在IE 9浏览器上运行自动化脚本时,我遇到了一个问题(但在IE 10和11中运行正常)。

问题是,我无法通过我为IE的新版本所遵循的语法来访问HTML元素。

以下是在IE 10& 11

    Set objInputs = internalContent.getElementsByClassName("linkedlinks")
    Set objElement = objInputs(0)     <-- this is where I'm facing the error -->

我正在尝试获取HTML DOM元素列表中的第一个元素,但该脚本仅在IE 9浏览器中引发错误。 注意:我验证了objInputs的长度;它不止一个。正如我所说,它在IE 10和11中运行良好

当执行到达该行时,我收到以下错误。

enter image description here

提示:我认为可能的解决方案是,为了在IE 9中支持,语法可能会稍微改变。

我需要一种方法来从通过'getElementsByClassName'获取的元素列表中单独访问第一个元素。

我试过

    Set objElement = objInputs.Item(0)

哪个也行不通。所以任何人都可以帮助我解决这个问题。过去几周我来到这里;我已经尝试了很多。

提前多多感谢。

1 个答案:

答案 0 :(得分:0)

根据http://caniuse.com/getelementsbyclassname,IE9支持getElementsByClassName

你在&#34;标准&#34;模式?尝试将<!doctype html>添加到文档顶部。

编辑:示例页面(在IE9中测试)

<!DOCTYPE html>
<html>
<head>

<script language="vbscript" type="text/vbscript">
    Function DoClick()
        Set e = document.getElementsByClassName("mytest")
        MsgBox e.length    ' ==> "3"
        MsgBox e(0).id     ' ==> "s1"   
    End Function
</script>

</head>
<body>
    <span class="mytest" id="s1"></span>
    <span class="mytest" id="s2"></span>
    <span class="mytest" id="s3"></span>
    <input type="button" language="vbscript" onclick="DoClick" value="VBScript Test" />
</body>
</html>