我有一个通常的标签
<label class="mytxt" style="color: #662819;" id ="telefon"></label>
我设置这样的值:
document.getElementById('telefon').innerHTML = userDetails.phone;
标签后有一些值"123"
。
在 pagesource 中,我在“&gt;&lt;”中有一个没有设定值的标签但我认为输出没问题:
pagesource: <label class="mytxt" style="color: #662819;" id ="telefon"></label>
我的问题是当我喜欢获取一个值时。 我尝试了标准,如:
value = $("#telefon").val();
document.getElementById('telefon').value
无效,价值总是“未定义”。为什么会这样,即使我在浏览器中看到它?
答案 0 :(得分:61)
标签不需要text()
或html()
val()
不应该为标签调用该函数,而是使用它来获取输入值,如文本或复选框等。
更改
value = $("#telefon").val();
要
value = $("#telefon").text();
答案 1 :(得分:8)
标签不是表单元素。他们没有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