Warum kann ich mit jQuery und JavaScript keinen Wert des Labels abrufen?

Lesezeit: 1 Minute

Benutzer-Avatar
rr

Ich habe ein übliches Etikett

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

Ich bin Einstellung so ein Wert:

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

nachdem ein Label einen Wert wie hat "123".

In einem Seitenquelltextich habe ein Label ohne gesetzten Wert in “><", aber ich sehe es als Ausgabe in Ordnung:

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

Mein Problem ist, wann ich will ERHALTEN ein Wert. Ich habe es versucht Normen wie:

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

Nichts funktioniert, Wert ist immer “nicht definiert”. Warum ist das so, obwohl ich es im Browser sehe?

  • label haben keinen Wert, nur Eingaben haben einen Wert. Wenn Sie den Text in einem Etikett haben möchten, verwenden Sie .text()

    – Daniel Ward

    7. Oktober 2013 um 15:36 Uhr

  • Verwenden Sie innerText; document.getElementById( ‘telefon’ ).innerText

    – Schnell

    7. Oktober 2013 um 15:38 Uhr

  • val() und .value erhält/setzt die value Attribute eines Formularelements wie inputdu solltest benutzen .html() um inneres html zu bekommen label Element von text() um Text ohne HTML-Tags zu erhalten

    – Eugen Halca

    7. Oktober 2013 um 15:38 Uhr

  • @Speedy: Ich denke, FF wird nicht unterstützt innerTextKann benutzen textContent eher.

    – Harry

    7. Oktober 2013 um 15:39 Uhr


  • ABER DER WERT WIRD NIEMALS in der Seitenquelle gesetzt (aber ich sehe ihn im Browser)! es funktioniert nicht mit irgendeiner gegebenen Lösung

    – rr

    7. Oktober 2013 um 15:43 Uhr


Du brauchst text() oder html() für Etikett nicht val() Die Funktion sollte nicht für Label aufgerufen werden, sondern wird verwendet, um Eingabewerte wie Text oder Kontrollkästchen usw. zu erhalten.

Veränderung

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

Zu

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

Etiketten sind keine Formularelemente. Sie haben keine value. Sie haben innerHTML und textContent.

Daher,

$('#telefon').html() 
// or
$('#telefon').text()

oder

var telefon = document.getElementById('telefon');
telefon.innerHTML;

Wenn du sind Beginnen Sie mit Ihrem Formularelement und sehen Sie sich die an labels Liste davon. Das ist,

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

1186410cookie-checkWarum kann ich mit jQuery und JavaScript keinen Wert des Labels abrufen?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy