使用jquery

时间:2016-11-02 21:55:40

标签: jquery html

我试图通过jquery获取标签内的文本。但是我只是设法让整个html输入显示出来。我想在哪里获取文字。

我在循环中生成一个带有复选框的标签,如下所示:

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)
}

点击按钮后,我想通过点击事件获取标签文字:

$('.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);
            }      
        });
    });

但我只是设法让控制台打印出来:

enter image description here

我尝试使用val(),但它没有打印出任何内容

我想得到:

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

1 个答案:

答案 0 :(得分:2)

根据我的评论:使用.text()代替.html()。两者之间的区别在于前者在选择器中获取组合文本,而后者获取HTML内容。

在这种情况下,您可能希望使用.text(),以便省略<input>子DOM节点。