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 错误

为啥不需要 document.getElementById? [复制]

php js表单验证问题