.innerHTML不会在div中打印任何内容

时间:2016-03-21 14:39:39

标签: javascript html

我是html和javascript的初学者。我试图在按下按钮时输出一些文本,从javascript使用.innerHTML,但它不打印任何东西。我通过id链接div(如果有可能我想避免循环)。这是代码;

<section class="box special features">
<div class="features-row">
<section>
        <h3 ="h31">&nbsp;</h3>  
        <p id="p1">&nbsp;</p>
        <p id="p2">&nbsp;</p>
</section>
<section id="s2">
    <h3 id="h32">&nbsp;</h3>
    <p id="p3">&nbsp;</p>
    <p id="p4">&nbsp;</p>
</section>
</div>
</section>
<button onclick= "myFunction()" id="button" name="button">ok</button>
<script type="text/javascript">
   function myFunction () {
   h31.innerHTML = ("some text 1");
   p1.innerHTML = ("some text 2");
   p2.innerHTML = ("some text 3");
   h32.innerHTML = ("some text 4");
   p3.innerHTML = ("some text 5");
   p4.innerHTML = ("some text 4");
   }
</script>

谢谢。

2 个答案:

答案 0 :(得分:4)

<h3 ="h31">&nbsp;</h3>  

您在这里错过了id属性的属性名称。

因此,h31.innerHTML = ("some text 1");错误和函数中止。

&#13;
&#13;
<section class="box special features">
<div class="features-row">
<section>
        <h3 id="h31">&nbsp;</h3>  
        <p id="p1">&nbsp;</p>
        <p id="p2">&nbsp;</p>
</section>
<section id="s2">
    <h3 id="h32">&nbsp;</h3>
    <p id="p3">&nbsp;</p>
    <p id="p4">&nbsp;</p>
</section>
</div>
</section>
<button onclick= "myFunction()" id="button" name="button">ok</button>
<script type="text/javascript">
   function myFunction () {
   h31.innerHTML = ("some text 1");
   p1.innerHTML = ("some text 2");
   p2.innerHTML = ("some text 3");
   h32.innerHTML = ("some text 4");
   p3.innerHTML = ("some text 5");
   p4.innerHTML = ("some text 4");
   }
</script>
&#13;
&#13;
&#13;

如果您使用了validator,则可以使用此功能。

注意,最佳做法是使用getElementById或其他DOM方法,而不是依赖于浏览器将具有id的任何元素扩展为全局JS变量的非显而易见的行为。

答案 1 :(得分:-1)

h31并且您的其他标识符未定义。您需要通过执行以下操作来实际获取HTML元素:

document.getElementById("h31").innerHTML = "some text 1";