我尝试过使用textContent和innerHTML,但未能将hello world改为再见。
<div data-test='hello'>
hello world
</div>
var test = document.querySelectorAll("[data-test='hello']");
//test.textContent = "goodbye";
test.innerHTML = "goodbye";
答案 0 :(得分:1)
将querySelectorAll更改为querySelector
<div data-test='hello'>
hello world
</div>
<script>
var test = document.querySelector("[data-test='hello']");
//test.textContent = "goodbye";
test.innerHTML = "goodbye";
</script>
答案 1 :(得分:1)
按文档定义:querySelectorAll()方法返回文档中与指定CSS选择器匹配的所有元素,作为静态NodeList对象。
querySelectorAll
方法返回array
,然后您可以更改第一个元素,如下所示:
var test = document.querySelectorAll('[data-test="hello"]');
test[0].innerHTML = "goodbye";
<div data-test='hello'>
hello world
</div>
答案 2 :(得分:1)
如果有data-test
个元素可能有多个,您仍然可以使用document.querySelectorAll
。
var test = document.querySelectorAll("[data-test='hello']");
for (var i = 0; i <= test.length; i++) {
test[i].innerHTML = "goodbye";
}
// or using newer syntax
test.forEach(x => x.innerHTML = "goodbye");