2013-10-07 32 views
20

我有一個常用的標籤爲什麼我無法用jquery和javascript獲得標籤的價值?

<label class="mytxt" style="color: #662819;" id ="telefon"></label> 

設置值是這樣的:

document.getElementById('telefon').innerHTML = userDetails.phone; 

標籤後有一個像"123"一定的價值。

pagesource,我有沒有內部「> <」設定值不變的標籤,但我看到的輸出好嗎:

pagesource: <label class="mytxt" style="color: #662819;" id ="telefon"></label> 

我的問題是,當我想GET的值。 我試圖標準像:

value = $("#telefon").val(); 
document.getElementById('telefon').value 

沒有什麼作品,價值始終是 「沒有定義」。爲什麼會這樣,即使我在瀏覽器中看到它?

+0

標籤沒有值,只有輸入。如果您想要標籤中的文本,請使用.text() –

+0

使用innerText; document.getElementById('telefon').innerText – Speedy

+1

'val()'和'.value'獲取/設置'input'等表單元素的'value'屬性,您應該使用'.html()'獲取內部文本()的'label'元素的html以獲得沒有html標籤的文本 –

回答

47

您需要的標籤text()html()val()的功能不應該被要求標籤,而不是用它來得到這樣的文本或複選框等輸入的值

變化

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

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

標籤的不是表格元素。他們沒有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