尝试获取具有特定类

时间:2015-06-09 09:37:00

标签: javascript vbscript innerhtml hta

我有一个HTA,我必须使用类innerHTML更新一组元素的driveLetter。在我这样做之前,我必须使用这个类来获取所有元素的数组。

我尝试用JS做这个,但是我通过错误告诉我不支持下面的两种方法(用IE9和IE11测试)。在HTML文件中使用这些函数有效,但这是一个HTA。

var driveLetterInstances = document.getElementsByClassName("driveLetter");
var driveLetterInstances = document.querySelectorAll(".driveLetter");

上面的行产生的错误 -

  

Object不支持属性或方法'getElementsByClassName'   Object不支持属性或方法'querySelectorAll'

我没有特别使用JS,并且愿意使用VBS来执行此功能,但我不知道如何开始使用它(或者即使它可能)。

1 个答案:

答案 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;
&#13;
&#13;

JQuery Solution 2:

&#13;
&#13;
// 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;
&#13;
&#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中显示的网页   标准模式。

Selectors API

您可能没有设置正确的DOCTYPE声明;你需要添加一个。