我试图通过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);
}
});
});
但我只是设法让控制台打印出来:
我尝试使用val()
,但它没有打印出任何内容
我想得到:
(CDI.L) Candover Investments plc, LSE (Asset Management)
(YVI.MI) Valore Italia Holding di Partecipazioni S.p.A., MIL (Asset Management)
答案 0 :(得分:2)
根据我的评论:使用.text()
代替.html()
。两者之间的区别在于前者在选择器中获取组合文本,而后者获取HTML内容。
在这种情况下,您可能希望使用.text()
,以便省略<input>
子DOM节点。