无法设置属性&inner;内部HTML'为什么我得到这个错误

时间:2017-08-20 13:57:08

标签: javascript html javascript-events javascript-objects innerhtml

<!DOCTYPE html>

<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>JS Bin</title>
</head>

<body>
  <div class="demo">heoo</div>
  <script>
    var person = {
      name: "john",
      age: 50
    };
    var result = person.name;
    document.getElementById('demo').innerHTML = result;
  </script>
</body>
</html>

我想在div中显示person对象属性值,但它是 显示不能将innerHTML设置为null。 请给我一些答案。  提前谢谢你。

3 个答案:

答案 0 :(得分:2)

class="demo"更改为id="demo"

或者您的代码:

document.getElementsByClassName('demo')[0].innerHTML= result;

答案 1 :(得分:0)

将您的类更改为id,因为您正在使用getElementById

Getdocumentbyid将根据ID

进行搜索

如果您想按类使用,请使用如下所示

var y = document.getElementsByClassName('demo'); y [0] .innerHTML =结果;

答案 2 :(得分:0)

document.getElementById('demo')尝试使用id="demo"从HTML文档中获取元素。它不会在您的HTML中找到任何元素,因为它的id="demo"中没有任何元素。

您可以通过将div class更改为id(即<div id="demo">而不是<div class="demo">)来解决问题,也可以通过更改方式从javascript中获取该元素:document.getElementByClassName('demo')[0]而不是document.getElementById('demo')