document.getElementById 错误:未捕获的 ReferenceError:分配中的左侧无效
Posted
技术标签:
【中文标题】document.getElementById 错误:未捕获的 ReferenceError:分配中的左侧无效【英文标题】:document.getElementById error: Uncaught ReferenceError: Invalid left-hand side in assignment 【发布时间】:2020-07-22 03:45:10 【问题描述】:我在使用 document.getElementbyId 时遇到问题。当我在浏览器中打开 html 文件时,它不显示“测试”并且出现错误:未捕获的 ReferenceError: Invalid left-hand side in assignment。我试过把脚本标签放在不同的地方,但是没有用。
document.getElementById("demo") = "test";
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<p id="demo"></p>
<script src="test.js"></script>
</body>
</html>
我将不胜感激任何形式的帮助!谢谢!
【问题讨论】:
错误很明显:=
表达式的左侧毫无意义。如果您尝试更新内容,则需要设置元素的.innerHTML
属性。
函数 getElementById() 返回一个元素,没有设置值,这就是你收到错误的原因。
您想要发生什么?其他 cmets 会告诉你哪里出了问题,但你到底想做什么?
正如他在问题中所说,他想将 tje 元素的文本设置为 id demo。正如@Pointy 所说,他需要设置内部文本属性:(从我的头顶,不确定语法)document.getElementById(“demo”).innerHtml = “test”;
【参考方案1】:
getElementById
返回一个元素。如果需要设置文本,可以设置该元素的innerText
,例如:
document.getElementById("demo").innerText = "test";
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<p id="demo"></p>
<script src="test.js"></script>
</body>
</html>
【讨论】:
【参考方案2】:您不能直接分配字符串来更改 html 元素的内容。 参考下面的代码:--
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<p id="demo">Hello</p>
<script>
document.getElementById("demo").innerHTML = "Hey";
</script>
</body>
</html>
【讨论】:
以上是关于document.getElementById 错误:未捕获的 ReferenceError:分配中的左侧无效的主要内容,如果未能解决你的问题,请参考以下文章
document.getElementById("test").value 和 document.getElementById("test").innerHTM
求教 document.getElementById 的用法
Chrome 中的 document.getElementById().innerText
打字稿中的 document.getElementById(s).document.getElementsByClassName 错误