我一直在使用以下代码迭代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(…)
我可以做些什么来完成这项工作?
答案 0 :(得分:4)
innerText
和innerHTML
都不是函数,而有属性。因此,应按以下方式为其分配值。
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;