猿问

我怎样才能得到两个输出?

我正在运行一些基本的测试用例,document.write()用于删除 head 标记中的所有现有 HTML。仅当我将脚本放入<body>标签时才能获得所需的输出。


成功运行正文中的脚本。但是脚本在<head>标签中使用时会导致问题。


<html>

<head>

  <title>Output</title>

  <script>

    function myFunction() {

      document.getElementById("demo").innerHTML = "Text";

      document.write(5 + 6);

    }

  </script>

</head>

<body>

  <p id="demo">

    <button onclick="myFunction()">Touch me</button>

  </p>

</body>

</html>

预期输出是 - 文本 11。但只有 11 可见。


慕村9548890
浏览 143回答 3
3回答

慕的地10843

document.write将删除您之前拥有的所有内容。您最初将innerHTMLof 元素的 id设置demo为Text,但随后您正在使用document.write,这将完全删除您现有的html并替换它11。您可以将数字的总和附加到Text.function myFunction() {&nbsp; const num = 5 + 6;&nbsp; document.getElementById("demo").innerHTML = "Text " + num;&nbsp; //document.write(5 + 6);}<p id="demo">&nbsp; <button onclick="myFunction()">Touch me</button></p>如果您没有任何html代码,请使用textContent代替innerHTML。function myFunction() {&nbsp; document.getElementById("demo").textContent = `Text ${5+6}`;}<p id="demo">&nbsp; <button onclick="myFunction()">Touch me</button></p>

心有法竹

您可以将字符串Textwrite function与这些数字一起传递给document.write(`Text ${5+6}`)<html><head>&nbsp; <title>Output</title>&nbsp; <script>&nbsp; &nbsp; function myFunction() {&nbsp; &nbsp; &nbsp; document.write(`Text ${5+6}`);&nbsp; &nbsp; }&nbsp; </script></head><body>&nbsp; <p id="demo">&nbsp; &nbsp; <button onclick="myFunction()">Touch me</button>&nbsp; </p></body></html>
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答