2016-08-06 2 views
0

Доступ к тексту метки.Доступ к тексту этикетки с помощью JavaScript

я могу найти значение входного тега через:

<label for="t">Try this <input type="text" id="t" /></label> 
 
<input type="button" onclick="alert(document.getElementById('t').value)" value="Click me!"/>

Но что это метод для доступа текст лейбла «Try это»?

используя .innerHTML ничего не дает. .parentNode.value дал undefined.

ответ

3

<label for="t">Try this <input type="text" id="t" /></label> 
 
<input type="button" onclick="alert(document.getElementById('t').parentNode.innerText)" value="Click me!"/>

+0

Спасибо. .parentNode.innerText - не нужно было добавлять идентификатор на метку в дополнение к свойству. Считается излишним. – windsurf88

0

Вы можете искать элемент по имени тега, используя document.getElementsTagName() метод. Этот метод возвращает все элементы с тегом <label></label>

<label for="t">Try this <input type="text" id="t" /></label> 
 
<input type="button" onclick="alert(document.getElementsByTagName('label')[0].innerText)" value="Click me!"/>

+0

почему [0]? [1]? [2]? –

+0

потому что 'document.getElementsTagName()' извлекает весь существующий элемент с заданным именем тега, поэтому он явно возвращает массив, даже если есть только один элемент – jonju

+0

Я знаю это, но почему [0]? –

0

Дайте ярлыку идентификатор, скажем, LBL:

<label id="lbl" for="t">Try this <input type="text" id="t" /></label> 

Сейчас в JavaScript, вы можете получить доступ текст с помощью:

document.getElementById('lbl').innerText 

лет u также может обрезать результат, чтобы избавиться от пробелов.

+0

Это не работает. Он возвращает Try this . – windsurf88

+0

.innerHTML return Попробуйте это . – windsurf88

+0

, как вы можете видеть в ответе, используйте innerText not innerHTML – TestCandidate

Смежные вопросы