Javascript querySelector迭代匹配的对象并在它们上使用.innerHTML?

时间:2016-11-21 22:38:01

标签: javascript

我一直在使用以下代码迭代DOM中的匹配元素。但是,如果我想使用像.innerHTML或.innerText这样的东西,这显然不起作用。

  let courseList = document.querySelectorAll(".course");
  for (let course of courseList) {

    course.querySelector('.course-number').innerText("Test");

  }

我试图迭代的那些对象看起来像这样:

<div class="course">
    <div class="course-number">1</div>
</div>
<div class="course">
    <div class="course-number">2</div>
</div>

我收到此错误:

Uncaught TypeError: course.querySelector(...).innerText is not a function(…)

我可以做些什么来完成这项工作?

1 个答案:

答案 0 :(得分:4)

innerTextinnerHTML都不是函数,而有属性。因此,应按以下方式为其分配值。

&#13;
&#13;
let courseList = document.querySelectorAll(".course");
  for (let course of courseList) {

    course.querySelector('.course-number').innerText = "Test";
    //course.querySelector('.course-number').innerHTML = "Test";

  }
&#13;
<div class="course">
    <div class="course-number">1</div>
</div>
<div class="course">
    <div class="course-number">2</div>
</div>
&#13;
&#13;
&#13;