charAt() 在 javascript 中不工作

charAt() not working in javascript

<!DOCTYPE html>
<html>

<head>
<script>
  document.write("some text");
  function change()
  {
    alert("function loaded");
    var text=[];
    text=document.getElementById("inname");
    document.getElementById("demo").innerHTML = text.charAt(0);
  }
</script>
</head>

<body>
<input type="text" id="inname">
<button onclick="change()"> convert </button>
<p id="demo"> </p>
</body>

</html>

我创建了简单的 HTML 页面来读取字符串并显示该字符串的第一个字符,但它不起作用。

知道为什么这不起作用吗?

因为,charAt() 方法 returns 从 字符串 中指定字符。所以 text 必须是 string 而不是 DOM 对象。 要获取输入值,请使用 text.value

function change() {
  var text = document.getElementById("inname");
  document.getElementById("demo").innerHTML = text.value.charAt(0);
}
<input type="text" id="inname">
<button onclick="change()"> convert </button>
<p id="demo"></p>

您已将 DOM 对象本身分配给变量 text,而不是输入的文本值。

您需要使用此 DOM 对象的 .value 属性 来获取文本值。

text = document.getElementById("inname").value;