我有一个HTA,我必须使用类innerHTML
更新一组元素的driveLetter
。在我这样做之前,我必须使用这个类来获取所有元素的数组。
我尝试用JS做这个,但是我通过错误告诉我不支持下面的两种方法(用IE9和IE11测试)。在HTML文件中使用这些函数有效,但这是一个HTA。
var driveLetterInstances = document.getElementsByClassName("driveLetter");
var driveLetterInstances = document.querySelectorAll(".driveLetter");
上面的行产生的错误 -
Object不支持属性或方法'getElementsByClassName' Object不支持属性或方法'querySelectorAll'
我没有特别使用JS,并且愿意使用VBS来执行此功能,但我不知道如何开始使用它(或者即使它可能)。
答案 0 :(得分:2)
要替换set元素的innerHTML,你总是可以像这样简单地做一些事情:
JQuery解决方案1:
// Find all the elements with the class name ".driveLetter" and replaces with "new content"
$(".driveLetter").html("new content");

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<!-- All elements with the same class name to be replaced with new content -->
<div class="driveLetter"> Hello </div>
<div class="driveLetter"> Hello </div>
<div class="driveLetter"> Hello </div>
<div class="driveLetter"> Hello </div>
&#13;
JQuery Solution 2:
// Loop through the classname
$('.driveLetter').each(function(key, value) {
value.innerHTML = "New Content";
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<!-- All elements with the same class name to be replaced with new content -->
<div class="driveLetter"> Hello </div>
<div class="driveLetter"> Hello </div>
<div class="driveLetter"> Hello </div>
<div class="driveLetter"> Hello </div>
&#13;
JQuery可以通过从JQuery网站调用它来使用,也可以在本地存储
来自网上的示例
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
从本地文件获取的示例
<script src="js/jquery.min.js"></script>
querySelectorAll()
的说明我认为IE8仅支持标准模式下的querySelectorAll()
。参考:Check this
Selectors API被定义为Selectors API的一部分 规范,仅适用于IE8中显示的网页 标准模式。
您可能没有设置正确的DOCTYPE声明;你需要添加一个。