【问题标题】:document.getElementById error: Uncaught ReferenceError: Invalid left-hand side in assignmentdocument.getElementById 错误:未捕获的 ReferenceError:分配中的左侧无效
【发布时间】: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”;

标签: javascript html dom


【解决方案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>

    【讨论】:

      猜你喜欢
      • 2023-04-01
      • 1970-01-01
      • 2010-12-29
      • 1970-01-01
      • 2019-05-04
      相关资源
      最近更新 更多