【问题标题】:javascript document element by idid 的 javascript 文档元素
【发布时间】:2016-09-16 18:45:59
【问题描述】:

如果我需要在页面中查看我的输出而不是在 console.log 中,我想使用 document get Element By Id 我该怎么做?他只给了我一个结果,只有史蒂夫!

[代码:] http://i.stack.imgur.com/ISqzT.png

<script>
    var friends = {};
    friends.bill = {
      firstName: "Bill",
      lastName: "Gates",
      number: "(206) 555-5555",
      address: ['Microsoft Way']
      };
    friends.steve = {
      firstName: "Steve",
      lastName: "Jobes",
      number: "(444) 111 000",
      address: ["Apple way"]
    };
    var list = function(obj) {
      for( var key in obj){
        console.log(obj);
      document.getElementById("demo").innerHTML = key + "<br>";
      }
    }

    var search = function(name) {
      for(var key in friends){
        if(name === friends[key].firstName){
          console.log(friends[key]);
        }
      }
    }
    list(friends);
    // search("Steve");
  </script>

【问题讨论】:

  • 你一直在覆盖内容,你期望什么?
  • 什么输出?您要将输出定向到哪里?
  • 在调试器中单步调试代码,观察每次循环运行时document.getElementById("demo").innerHTML 会发生什么。
  • document.getElementById("demo").innerHTML += key + "
    ";你必须添加密钥而不是覆盖它'+='

标签: javascript


【解决方案1】:

嘿,您需要做的唯一更改是使用 += 而不是 = 用于 innerHTML 函数。给你:

text.innerHTML+=friend + "
";

【讨论】:

  • 如果我这样做,在同一个例子中? var search = function(name) { for(var key in friends){ if(name === friends[key].firstName){ console.log(friends[key]); document.getElementById('search').innerHTML += friends[key] + "
    "; } } } 输出将是 [object Object] 我该如何解决这个问题??
【解决方案2】:

只需将结果附加到您的 innerHTML 中,不要覆盖它,同样: document.getElementById("demo").innerHTML += key + "&lt;br&gt;";

【讨论】:

  • Pedro Gonçalves 不行 你能给我密码吗?
猜你喜欢
  • 2013-05-11
  • 2020-08-24
  • 2023-04-01
  • 2011-01-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-07
相关资源
最近更新 更多