我是HTML的新手,尤其是HTML5。

我正在尝试选择ID为mr的标头并将其更改为以para作为其类的项目数的长度。

我的浏览器视图似乎没有任何变化。

不知道为什么。谢谢。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <script>
        var items = document.getElementsByClassName("para");
        var log = document.getElementById("mr");
        log.innerText = items.length;
    </script>
    <title>Title</title>
    <html lang="en"/>

</head>
<body>
    <header>
        <h1 id="mr">This is a header</h1>
    </header>

    <nav>
        <a href="index.html">Index</a>
    </nav>

    <section>
        <h1>Section 1</h1>

        <article>
            <p class="para">here is bla lakjfbsjkafb asje bfjlsaeb jlfkaseb ljkfabejkf bajekbf</p>
        </article>

        <article>
            <p class="para"> <mark>here is some more shit</mark></p>
        </article>

    </section>

    <footer>

    </footer>
</body>
</html>

最佳答案

脚本运行时,DOM中都不存在para或mr。

选项1

只需在关闭body标签之前放入script部分

 <script>
            var items = document.getElementsByClassName("para");
            var log = document.getElementById("mr");
            log.innerText = items.length;
        </script>
     </body>


选项2

如果您仍想将其放在head标记内,请将js置于window.onload

<script>
     window.onload=function(){
       var items = document.getElementsByClassName("para");
        var log = document.getElementById("mr");
        log.innerText = items.length;
     }
    </script>


Plunker

关于javascript - 无法在HTML DOM中选择ID或类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35860502/

10-09 23:25