2014-01-08 2 views
3

У меня проблема с length свойство, возвращающее «undefined» после этого, я написал свой код.Длина свойства возвращает «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

Какую длину вы ожидаете? Контент? – Lloyd

+0

Я ожидаю два :) –

ответ

4

Применение

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

вместо

, как getElementById возвращает один элемент .length не определен. .length доступен только на массивах.

Вы можете получить доступ к содержимому в <h2> элемента по его свойство подъемы innerHTML

+0

Спасибо. Он работает так, как я хочу. –

+0

Обычно я использую innerHTML для получения текста. –

5

getElementById возвращает элемент. Вам нужен текст внутри элемента. element.innerHTML будет делать трюк в этом случае.

1

document.getElementById не возвращает текст. Он возвращает сам элемент DOM.

Если вы хотите, чтобы содержание HTML emlement, используйте innerHTML или innerText

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

The document.getElementById ('т') просто возвращает DOM, а не строка. Строка находится внутри свойства innerHTML.

var qq = document.getElementById('t'); 
alert(qq.innerHTML.length); 
Смежные вопросы