开发者问题收集

未捕获的类型错误:即使 div 存在,也无法设置 null [] 的属性“innerHTML”

2017-12-03
523

我尝试使用 div 设置 HTML 的属性,但出现错误“无法设置 null 的属性‘innerHTML’。

在 JavaScript 中,

function find_person() {

    ...

    var title = 
    "<div class=\"w3-container\">" +
    "<h3>Find a person</h3>";
    "</div>";

    document.getElementById("content_title").innerHTML = title;
}

在 HTML 中,

<div id="content" class="w3-display-container w3-container">
    <div id = "content_title" class = "w3-row" >Title goes here
    </div>
    <div id= "content_main" class = "w3-row">
    </div>
</div>

您能帮我找出导致识别 div 错误的原因吗?

3个回答

当您尝试访问“content_title”div 时,它为空。

当您调用函数时,文档很可能未完全加载。

lmilunovic
2017-12-03

您要添加的 HTML 内容的初始化代码已损坏:

var title = 
"<div class=\"w3-container\">" +
"<h3>Find a person</h3>" + // <----- "+" instead of ";"
"</div>";

实际上,您正尝试附加一个 不完整 的 HTML 块,因此浏览器会忽略它。

Pointy
2017-12-03

确保在 html 中,您将“Script”标签放在您要查找的 下方的任何位置,或者最好放在 的结束标签下方。当 javascript 要求从其父文件夹获取 id 和/或类进行操作时,它会从顶部查找到初始化的位置,而不是从下方查找。:D

blaise johnny
2018-06-01