我正在尝试迭代已检查复选框的集合,并将每个复选框的文本附加到div作为跨度。我已经尝试使用选项标签选择它并且工作正常,但是当使用span标签时,文本似乎没有显示。
$.each(elms, function(index, value) {
var textVal;
textVal = $.trim($(value).parent().text());
return $('#narrowSic').append($('<span class=label>', {
text: textVal
}));
});
这是与之一起使用的HTML:
<div id="filteredSicDiv">
<a href="javascript: void(0)">Clear</a>
<div id="narrowSic" class="labelParent">
Sic:</div>
</div>
答案 0 :(得分:3)
我相信棘手的部分,你真正想要的代码就像是注意我正在附加到主体进行调试:
$(document.body).append($('<span />', {
"text": textVal,
"class": 'label'
}));
请参阅http://api.jquery.com/jQuery/#jQuery2上的jQuery文档,并注意这一点:
传递复杂的HTML时,某些浏览器可能无法生成DOM 它完全复制了提供的HTML源代码。
所以您更新的代码段是:
$.each(elms, function(index, value) {
var textVal = $.trim($(value).parent().text());
return $('#narrowSic').append($('<span />', {
"text": textVal,
"class": 'label'
}));
});
这假设在所有情况下,textVal
的值都按预期工作。
答案 1 :(得分:2)
$.each(elms, function(index, value) {
var textVal;
textVal = $.trim($(value).parent().text());
$('#narrowSic').append($('<span class=label>' + textVal + '</span>'));
});
答案 2 :(得分:1)
您可以使用.text()
功能设置文字:
$.each(elms, function(index, value) {
var textVal;
textVal = $.trim($(value).parent().text());
return $('#narrowSic').append($('<span class="label">').text(textVal));
});