在 JavaScript 的 HTML 元素中显示 console.log()

新手上路,请多包涵

我编写了一个函数,它将所有内容写入控制台(使用 console.log(string); )。

现在我想“模拟”或在 <p><div> 中显示生成的控制台日志。

有谁知道如何做到这一点?

原文由 balex 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 752
2 个回答

根据您问题中的线索,我认为您在浏览器环境中工作。

consolewindow 对象上的一个对象。因此,您可以轻松更换它。以下代码将替换浏览器的 window.console 为自定义的 window.console 其方法为 loglog 方法将获取一个字符串并将其附加到 ID 为 myLog 的元素上

在您的 HTML 中:

 <p id="myLog"></p>

在你的 JS 中:

 window.console = {
  log: function(str){
    var node = document.createElement("div");
    node.appendChild(document.createTextNode(str));
    document.getElementById("myLog").appendChild(node);
  }
}
console.log('hi');
console.log('there');

这是假设您只记录 _字符串_。如果你记录其他东西,比如对象,你可能想在 log 方法中添加一个类型检查,如果它是一个对象,在将它添加到节点之前通过 JSON.stringify 运行它.

原文由 Emil Oberg 发布,翻译遵循 CC BY-SA 3.0 许可协议

超链接:

 <body>
  <ul id ="list"></ul>
</body>

脚本:

 function createMessage(str) {
  var newMessage = document.createElement('li').innerHTML = str;
  var list = document.getElementById("list");
  list.insertBefore(newNode, list.childNodes[0]);
}

原文由 Javi Alcantara 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题