0

您好尝试使用 getelementbyid 和 innerText 但它在任何浏览器中都不起作用。当我打开错误控制台时,我收到以下错误消息

TypeError:'null' 不是对象(评估'document.getElementById("username").innerText = name')

这是我的代码:

<script>
alert("Using Javascript","");
var name = prompt("Please enter your name?", "");
var course = prompt("What course are you studying?", "");
document.getElementById("username").innerText = name;
document.getElementById("usercourse").innerText = course;
</script>

我不知道为什么会收到 null 错误。

4

2 回答 2

0

让我通过在解释之前提供答案来解决您的问题...

工作解决方案

HTML 更改...

USERNAME:<label id="username"></label>
         <br>
USER COURSE:<label id="usercourse"></label>

说明:现在 HTML 非常混乱,我相信不同的人可能会以不同的方式来做,但是我想告诉你的是,如果一个元素不存在,你就不能引用它....

getElementByID 本身是不言自明的。在您的问题中,您在哪里看到您尝试引用的 2 个 id,因此控制台中出现“null”错误。您的 HTML 必须有这 2 个 ID。您可以从 javascript 动态添加元素,但这是另一个问题。

回到解决方案。

innerText 不适用于 Mozilla,因为它是 Internet Explorer 属性。它确实适用于 Chrome,但不适用于 FF。因此,您应该考虑使用

Node.textContent
于 2013-11-19T12:20:43.970 回答
0

用这个 :

document.getElementById("username").value = name;
document.getElementById("usercourse").value = course;

这行得通。

于 2013-11-19T11:58:18.223 回答