我应该选择哪个属性来设置“文本” HTML 元素? [重复]
2021-08-13
126
我想使用 Java 脚本更改 P 中的文本或 HTML 中的其他标记
我尝试了许多不同的方法。 但是,这些方法都不太奏效。
控制台显示。
Uncaught TypeError: Cannot set property 'textContent' of null
<script>
//1 document.getElementById("stackoverflow").textContent="newtext";
//2 document.getElementById("stackoverflow").value ="newtext";
//3 document.getElementById("stackoverflow").innerHTML ="newtext";
<script>
<div class="row">
<p id="stackoverflow">I wanna change this text</p>
</div>
3个回答
两处更改
- 在元素加载后移动脚本
- 从标记中删除 id 以下代码有效
document.getElementById("stackoverflow").textContent="newtext";
<p id="stackoverflow">I wanna change this text</p>
Dev Ananth
2021-08-13
检查你的 id 之间是否没有空格。 id 是 stackoverflow 并且你给出了 document.getElementById(" stack overflow ")
Vaibhav Deshmukh
2021-08-13
这是完全正常的,只要
p
标签上有两个
id
属性,则仅会考虑第一个。
let p = document.getElementById("stackoverflow");
console.log(p);
<p id id="stackoverflow">This is a sample paragraph</p>
但是,当您删除第一个
id
时,它应该可以按预期工作
let p = document.getElementById("stackoverflow")
console.log(p);
<p id="stackoverflow">This is a sample paragraph</p>
let p = document.querySelector("p");
console.log(p.id);
<p id id="stackoverflow">This is a sample paragraph</p>
如您所见,
id
属性为
空
Yves Kipondo
2021-08-13