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