charAt() 在 JavaScript 中不起作用

Posted

技术标签:

【中文标题】charAt() 在 JavaScript 中不起作用【英文标题】:charAt() not working in javascript 【发布时间】:2018-05-09 20:17:22 【问题描述】:
<!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 页面来读取字符串并显示该字符串的第一个字符,但它不起作用。

任何想法为什么这不起作用?

【问题讨论】:

text 是一个 dom 元素,而不是那个元素的值 【参考方案1】:

因为,charAt() 方法从 字符串 中返回指定的字符。所以 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>

【讨论】:

【参考方案2】:

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

你需要使用这个DOM对象的.value属性来获取文本值。

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

【讨论】:

以上是关于charAt() 在 JavaScript 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的 html 请求在 javascript 中不起作用 [重复]

JavaScript 警报在 Firefox 6 中不起作用

JavaScript 在 Android Webview 中不起作用?

javascript代码在HEAD标签中不起作用

为啥我的 javascript 箭头函数在 Edge/IE 中不起作用?

JavaScript 在 Shiny 的模态中不起作用