使用innerText或innerHTML不会显示文本

时间:2016-10-10 08:22:06

标签: javascript

正如标题所说,我正在学习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>

3 个答案:

答案 0 :(得分:1)

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

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

&#13;
&#13;
<!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>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

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

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

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

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

答案 2 :(得分:1)

我编辑了一些东西。你很亲密 我给了h1一个id。并使用了document.getElementById。

&#13;
&#13;
<!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>
&#13;
&#13;
&#13;