我遇到长度属性返回" undefined"之后我写了我的代码。
我的任务是获取文本的长度。我已经尝试过这样做,但它不起作用。
让我们查看我的代码并找到错误。
<h1 id="t">tt</h1>
<input type="submit" value="q" onclick="hide()">
<script>
function hide() {
var qq = document.getElementById('t').length;
alert(qq);
}
朋友们,我将不胜感激,如果你会说错误在哪里。 :) 提前致谢。
解决了这个问题,我觉得你很好。
答案 0 :(得分:6)
使用
var qq = document.getElementById('t').innerHTML.length;
代替
作为getElementById
返回单个元素.length
未定义。 .length
仅适用于阵列。
您可以通过获取<h2>
属性
innerHTML
元素的内容
答案 1 :(得分:5)
getElementById
返回元素。您需要元素内的文本。在这种情况下,element.innerHTML
会做到这一点。
答案 2 :(得分:1)
document.getElementById
不会返回文字。它返回DOM元素本身。
如果您需要HTML动画的内容,请使用innerHTML
或innerText
var qq = document.getElementById('t').innerHTML.length;
答案 3 :(得分:1)
document.getElementById('t')只返回DOM,而不是字符串。 该字符串位于innerHTML属性的内部。
var qq = document.getElementById('t');
alert(qq.innerHTML.length);