当我尝试在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中运行良好
当执行到达该行时,我收到以下错误。
提示:我认为可能的解决方案是,为了在IE 9中支持,语法可能会稍微改变。
我需要一种方法来从通过'getElementsByClassName'获取的元素列表中单独访问第一个元素。
我试过
Set objElement = objInputs.Item(0)
哪个也行不通。所以任何人都可以帮助我解决这个问题。过去几周我来到这里;我已经尝试了很多。
提前多多感谢。
答案 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>