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

r.r*_*r.r 31 javascript jquery label get

我有一个通常的标签

<label class="mytxt"  style="color: #662819;" id ="telefon"></label>
Run Code Online (Sandbox Code Playgroud)

我正在设置这样的值:

document.getElementById('telefon').innerHTML = userDetails.phone;
Run Code Online (Sandbox Code Playgroud)

在标签有一些价值之后"123".

在一个pagesource中,我在"> <"中有一个没有设置值的标签,但我看到输出它没问题:

pagesource: <label class="mytxt"  style="color: #662819;" id ="telefon"></label>
Run Code Online (Sandbox Code Playgroud)

我的问题是,当我喜欢GET的值.我试过像以下标准:

value = $("#telefon").val(); 
document.getElementById('telefon').value 
Run Code Online (Sandbox Code Playgroud)

没有用,价值总是"没有定义".为什么会这样,即使我在浏览器中看到它?

Adi*_*dil 65

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

更改

value = $("#telefon").val(); 
Run Code Online (Sandbox Code Playgroud)

value = $("#telefon").text(); 
Run Code Online (Sandbox Code Playgroud)


Dan*_*den 8

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

从而,

$('#telefon').html() 
// or
$('#telefon').text()
Run Code Online (Sandbox Code Playgroud)

要么

var telefon = document.getElementById('telefon');
telefon.innerHTML;
Run Code Online (Sandbox Code Playgroud)

如果你正在开始你的表单元素,检查了labels它的名单.那是,

var el = $('#myformelement');
var label = $( el.prop('labels') );
// label.html();
// el.val();
// blah blah blah you get the idea
Run Code Online (Sandbox Code Playgroud)