如何更改当前元素的innerHTML?

我正在尝试在当前元素上打印文本。我尝试了以下两个代码,但它们似乎不起作用:


这是在整个文档中打印文本:


<div>

  <script>

    fetch('file.txt').then((resp) => resp.text()).then(function(data) {

      document.write(data);

    });

  </script>

</div>

结果是:


<html>

  <body>

    <!-- THE TEXT THAT I REQUESTED APPEARS HERE -->

  </body>

</html>

并且下面的代码返回以下错误:


<div>

  <script>

    fetch('file.txt').then((resp) => resp.text()).then(function(data) {

      document.this.innerHTML(data);

    });

  </script>

</div>

无法读取未定义的属性“ innerHTML”


aluckdog
浏览 215回答 3
3回答

犯罪嫌疑人X

首先,您应该将脚本移出div,然后将代码中的“ this”替换为对目标div的引用。如果将div的ID指定为“ target”,则可以执行以下操作:const target = document.getElementById('target');fetch('file.txt').then((resp) => resp.text()).then((data) => target.innerHTML = data);

森栏

您可以document.writeln()用来在当前div内编写<div>&nbsp; <script>&nbsp; &nbsp; fetch('file.txt').then((resp) => resp.text()).then(function(data) {&nbsp; &nbsp; &nbsp; document.writeln(data);&nbsp; &nbsp; });&nbsp; </script></div>Hre是一个演示结果的类似示例。<div>&nbsp; <script>&nbsp; &nbsp; Promise.resolve('abc123<br>xyz789')&nbsp; &nbsp; .then(function(data) {&nbsp; &nbsp; &nbsp; document.writeln(data)&nbsp; &nbsp; });&nbsp; </script></div>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript