[英]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.