为什么JavaScript对象不会多次显示?

时间:2018-09-18 00:50:32

标签: javascript html getelementbyid getelementsbyclassname

我试图在JS中创建对象列表并在类中创建它们。我需要能够通过一个简单的变量在整个网站上调用它们。许多人将被称为不止一次。

在创建对象时,可以将其作为ID进行ID调用,但只能显示一次,如果需要,则不能重复。如果我以类格式创建对象,那么它将根本不会显示。

我要去哪里错了?

这不是实现此目标的最佳方法吗?

var myObj, x;
myObj = {"session1":"NAVIGATING AND NETWORKING THE CONFERENCE"};
x = myObj.session1;
document.getElementsByClassName("session1").innerHTML = x;
<div class="session1"></div>
<br>
<div class="session1"></div>

2 个答案:

答案 0 :(得分:1)

您需要遍历document.getElementsByClassName("session1");返回的元素,它是一个数组(您需要循环以设置所有那些元素的innerHTML)。喜欢,

var myObj, x;
myObj = {"session1":"NAVIGATING AND NETWORKING THE CONFERENCE"};
x = myObj.session1;
elems = document.getElementsByClassName("session1");
for (var i = 0; i < elems.length; i++) {
    elems[i].innerHTML = x;
}
<div class="session1"></div>
<br />
<div class="session1"></div>

答案 1 :(得分:1)

将您的代码更改为以下内容:

var elements = document.getElementsByClassName("session1")
for(var i = 0; i < elements.length; i++){
  elements[i].innerHTML = x
}