长度属性返回“未定义”

时间:2014-01-08 11:24:26

标签: javascript

我遇到长度属性返回" undefined"之后我写了我的代码。

我的任务是获取文本的长度。我已经尝试过这样做,但它不起作用。

让我们查看我的代码并找到错误。

<h1 id="t">tt</h1>
<input type="submit" value="q" onclick="hide()">
<script>
function hide() {
var qq = document.getElementById('t').length;
alert(qq);

}

朋友们,我将不胜感激,如果你会说错误在哪里。 :) 提前致谢。

解决了这个问题,我觉得你很好。

4 个答案:

答案 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动画的内容,请使用innerHTMLinnerText

var qq = document.getElementById('t').innerHTML.length;

答案 3 :(得分:1)

document.getElementById('t')只返回DOM,而不是字符串。 该字符串位于innerHTML属性的内部。

var qq = document.getElementById('t');
alert(qq.innerHTML.length);