2016-11-02 4 views
0

Ich versuche, den Text innerhalb eines Etiketts durch jquery zu erhalten. Aber ich habe es nur geschafft, die gesamte HTML-Eingabe zu zeigen. Wo ich nur den Text bekommen möchte.Erhalte den Etikettentext mit jquery

ich erzeugen ein Etikett mit einer Checkbox in einer Schleife, wie unten dargestellt:

for (var key in data['results']){ 

    SearchResultsOutter = $('<div />', { 
    'class' : 'SearchResultsOutter', 
    }).appendTo('.searchresultswrapper'); 

    paraCheck = $('<label />').html(data['results'][key]) 
    .prepend($('<input/>').attr({ type: 'checkbox', 'class': 'SearchResultsSibling'})); 

    paraCheck.appendTo(SearchResultsOutter) 
} 

Und wenn ich einen Knopf klicken würde Ich mag den Text des Etiketts zu erhalten, durch dieses Click-Ereignis:

$('.searchresultcontrol1').on('click', function(){ 
     console.log('Here'); 
     outter = $('.searchresultswrapper'); 

     var lst = []; 

     outter.children('div').each(function() { 
      if ($(this).find('input').is(":checked")){ 
       lbl = $(this).find('label').html(); 
       console.log(lbl); 
      }  
     }); 
    }); 

Aber ich habe es geschafft, nur um die Konsole zu erhalten auszudrucken:

enter image description here

Ich habe versucht, val() zu verwenden, aber es druckt nichts aus

Ich möchte nur erhalten:

(CDI.L) Candover Investments plc, LSE (Asset Management) 
    (YVI.MI) Valore Italia Holding di Partecipazioni S.p.A., MIL (Asset Management) 
+1

Wie sieht Ihr Markup aus? Sie sollten versuchen, '.text()' anstelle von '.html()' zu verwenden, damit Sie nur den Textknoten erhalten. – Terry

+0

@Terry Text funktioniert! Danke vielmals. – vandelay

Antwort

2

Per meinem Kommentar: .text() statt .html() verwenden. Der Unterschied zwischen den beiden besteht darin, dass ersterer den kombinierten Text innerhalb des Selektors erhält, während Letzterer den HTML-Inhalt erhält.

In diesem Fall möchten Sie .text() verwenden, so dass Sie den <input> Child-DOM-Knoten auslassen.

Verwandte Themen