繁体   English   中英

使用innerText或innerHTML不会显示文本

[英]Text won't show up using innerText or innerHTML

如标题所述,我正在学习javascript,但仍然是初学者。
这个HTML文件在这里:

<!DOCTYPE html>
<html>
<head>
 <title>jQuery</title>
 <script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
</head>
<body>
  <h1 class="menu"></h1>
  <script type="text/javascript">
   function clr(o){
    var a1 = [];
    var i = 0;
    for (var k in o){
        a1[i] = 0;
        i++;
    }
    return a1;
   }
   console.log(clr({a:"a", b:"b", c:"c"}));
   document.getElementsByClassName("menu").innerText = clr({a:"a", b:"b", c:"c"});
  </script>
</body>
</html>

由于您正在运行Jquery,因此可以使用Jquery方法。 text()html()

但是您的问题是document.getElementsByClassName("menu")返回HTML集合,所以您必须这样做: document.getElementsByClassName("menu")[0].innerHTML

 <!DOCTYPE html> <html> <head> <title>jQuery</title> <script src="https://code.jquery.com/jquery-3.1.1.min.js"></script> </head> <body> <h1 class="menu"></h1> <script type="text/javascript"> function clr(o){ var a1 = []; var i = 0; for (var k in o){ a1[i] = 0; i++; } return a1; } console.log(clr({a:"a", b:"b", c:"c"})); $(".menu").text(clr({a:"a", b:"b", c:"c"})); </script> </body> </html> 

document.getElementsByClassName("menu")将返回包含类menu的元素的类似数组的NodeList。

由于它是类似Array的对象,因此您需要使用[]访问单个元素。

在您的情况下,它将是一个由1个元素组成的数组,即h1元素,因此要访问它,您需要在位置0处抓取它:

document.getElementsByClassName("menu")[0].innerHTML = clr({a:"a", b:"b", c:"c"});
----------------------------------------^

我编辑了几本书。 你近了 我给H1一个ID。 并使用document.getElementById。

 <!DOCTYPE html> <html> <head> <title>jQuery</title> <script src="https://code.jquery.com/jquery-3.1.1.min.js"></script> </head> <body> <h1 id="menu"></h1> <script type="text/javascript"> function clr(o){ var a1 = []; var i = 0; for (var k in o){ a1[i] = 0; i++; } return a1; } console.log(clr({a:"a", b:"b", c:"c"})); document.getElementById("menu").innerHTML = clr({a:"a", b:"b", c:"c"}); </script> </body> </html> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM