为什么我用jquery和javascript无法获得标签的价值?

时间:2013-10-07 15:34:13

标签: javascript jquery get label

我有一个通常的标签

<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 

无效,价值总是“未定义”。为什么会这样,即使我在浏览器中看到它?

2 个答案:

答案 0 :(得分:61)

标签不需要text()html() val()不应该为标签调用该函数,而是使用它来获取输入值,如文本或复选框等。

更改

value = $("#telefon").val(); 

value = $("#telefon").text(); 

答案 1 :(得分:8)

标签不是表单元素。他们没有value。他们有innerHTMLtextContent

因此,

$('#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