Почему я не могу получить значение метки с jquery и javascript?
У меня есть обычная метка
<label class="mytxt" style="color: #662819;" id ="telefon"></label>
Я устанавливаю значение, подобное этому:
document.getElementById('telefon').innerHTML = userDetails.phone;
после того, как метка имеет некоторое значение, подобное "123"
.
В sourceource у меня есть метка без установленного значения внутри " > <" но я вижу в качестве вывода это хорошо:
pagesource: <label class="mytxt" style="color: #662819;" id ="telefon"></label>
Моя проблема в том, когда мне нравится GET значение.
Я пробовал такие стандарты, как:
value = $("#telefon").val();
document.getElementById('telefon').value
ничего не работает, значение всегда "не определено". Почему это так, даже если я вижу его в браузере?
Ответы
Ответ 1
Вам нужно text()
или html()
для метки not val()
. Функция не должна вызываться для метки, вместо этого она используется для получения значений ввода, таких как текст или флажок и т.д.
Изменить
value = $("#telefon").val();
Для
value = $("#telefon").text();
Ответ 2
Этикетки не являются элементами формы. У них нет value
. Они имеют innerHTML
и textContent
.
Таким образом,
$('#telefon').html()
// or
$('#telefon').text()
или
var telefon = document.getElementById('telefon');
telefon.innerHTML;
Если вы начинаете с элемента формы, просмотрите список labels
. То есть
var el = $('#myformelement');
var label = $( el.prop('labels') );
// label.html();
// el.val();
// blah blah blah you get the idea