0

拜托,我需要帮助......这是我的代码:

<h2 class="title" id="ti"><span class="subtitle" id="sub"></span></h2>

document.getElementById('ti').innerHTML = "hello";
document.getElementById('sub').innerHTML = "my word";

在 id: 上ti工作正常,但在 id: 上sub返回给我这样的错误:

"Uncaught TypeError: Cannot set property 'innerHTML' of null"

我会很感激一些帮助;)

PS:如果我在没有 document.getElementById('ti').innerHTML = "hello" 的情况下进行测试,则 document.getElementById('sub').innerHTML = "my word" 工作正常

4

2 回答 2

6

您将 span 替换为 idsub和 text hello。那个跨度不再存在,所以当你试图得到它时,你null反而得到了。

于 2013-10-09T11:55:33.670 回答
0

正如@Quentin 告诉您的那样,您正在尝试访问一个不存在的 id “sub”。

您的问题的解决方案可以是:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
        <h2 class="title" id="ti">
        </h2>

        <script type="text/javascript">
            var parent = document.getElementById('ti');
            var new = document.createElement("span");
            new.className = "subtitle";

            parent.innerHTML = "Hello";

            new.innerHTML = "My Word";
            parent.appendChild(new);
        </script>
    </body>
</html>
于 2013-10-10T09:14:16.340 回答