错误:未捕获的TypeError

时间:2013-10-09 11:54:21

标签: javascript jquery

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

<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”工作正常

2 个答案:

答案 0 :(得分:6)

您使用文字sub替换了标识为hello的范围。该范围不再存在,因此当您尝试获取时,您会获得null

答案 1 :(得分: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>