如何将变量的值取到段落标签中?

How to take the value of a variable to the paragraph tag?

我在将代码发送到我的 <p> 标签时遇到问题,我哪里出错了?

<html>

<body>
  <p id="100"> </p>
  <script>
    var dictionary
    var lower

    function start() {
      var dictionary = "house";
      lower = dictionary.toString().toLowerCase();
    }
    document.getElementById("100").innerHTML == document.getElementById([lower]).value
    start()
  </script>
</body>

</html>

备注在代码段的注释中。

<html>
<body>
<p id="A100"> </p>
<script>
var dictionary,lower;
function start(){dictionary="house";
lower=dictionary.toString().toLowerCase();
//you need to return something for the function output to be consumed somewhere else 
return lower;
}
//you use start output to render innerhtml
// you dont do another document.get because lower is not a dom element its is Js object and we have used start return to make is consumable
// == is comparative = is used as setter we are setting not comparing as code would suggest 
document.getElementById("A100").innerHTML=start();
</script>
</body> 
</html>

Mathi 建议的本地范围示例;

<html>
<body>
<p id="A100"> </p>
<script>

function start(){
let dictionary, lower;
dictionary="house";
lower=dictionary.toString().toLowerCase();
 
return lower;
}
document.getElementById("A100").innerHTML=start();
</script>
</body> 
</html>

您的脚本所做的是:

  1. 尝试获取 ID 为“100”的元素(顺便说一下,ID 以数字开头是不好的做法,尽管它可能在某些浏览器中有效 — 请参阅 What are valid values for the id attribute in HTML?)。由于命名错误,它可能无法检测到该元素。
  2. 预计会找到该元素,但您没有分配新的 innerHTML(可以与 = 一起使用),而是与 == 进行比较。
  3. 然后你尝试通过[lower]找到一个元素。首先,getElementById 需要一个字符串,第二个 lower 此时是 undefined。尚未设置。它将在下一行中设置,您在其中执行 start()。还要注意只有 <p> 没有 value。在这种情况下,最好使用 innerText。如果你只是想让段落显示lower的值,只需分配较低的值,如:document.getElementById("100").innerText = lower;
  4. 如果参数始终是字符串,则不需要
  5. toString()。那么它就是
var dictionary = "HouSe";
document.getElementById("a100").innerText = dictionary.toLowerCase();

一个工作示例可以是:

function toLowerCaseString(value) {
    return value.toString().toLowerCase();
}

var dictionary = "HouSe";

document.getElementById("a100").innerText=toLowerCaseString(dictionary);
<html>
  <body>
    <p id="a100"></p>
  </body> 
</html>