Javascript 附加的跨距标记don';我没有指定文本
我试图遍历一组复选框,并将每个复选框的文本作为一个范围附加到一个div中。我曾经尝试过将选项标记设置为select,效果很好,但是当使用span标记时,文本似乎没有显示出来Javascript 附加的跨距标记don';我没有指定文本,javascript,jquery,Javascript,Jquery,我试图遍历一组复选框,并将每个复选框的文本作为一个范围附加到一个div中。我曾经尝试过将选项标记设置为select,效果很好,但是当使用span标记时,文本似乎没有显示出来 $.each(elms, function(index, value) { var textVal; textVal = $.trim($(value).parent().text()); return $('#narrowSic').append($('<span class=label>
$.each(elms, function(index, value) {
var textVal;
textVal = $.trim($(value).parent().text());
return $('#narrowSic').append($('<span class=label>', {
text: textVal
}));
});
$。每个(elms、函数(索引、值){
var textVal;
textVal=$.trim($(value.parent().text());
返回$('#窄带')。追加($(''){
文本:textVal
}));
});
这是它正在使用的HTML:
<div id="filteredSicDiv">
<a href="javascript: void(0)">Clear</a>
<div id="narrowSic" class="labelParent">
Sic:</div>
</div>
原文如此:
$。每个(ELM、函数(索引、值){
var textVal;
textVal=$.trim($(value.parent().text());
$('#nerrowsic')。追加($(''+textVal+'');
});
您可以使用.text()
功能设置文本:
$.each(elms, function(index, value) {
var textVal;
textVal = $.trim($(value).parent().text());
return $('#narrowSic').append($('<span class="label">').text(textVal));
});
$。每个(elms、函数(索引、值){
var textVal;
textVal=$.trim($(value.parent().text());
返回$('#窄带').append($('').text(textVal));
});
我认为,对于棘手的部分,您实际需要的代码类似于我在正文中添加的注释,用于调试:
$(document.body).append($(''){
“文本”:textVal,
“类别”:“标签”
}));
请参阅中的jQuery文档,并注意以下注意事项:
当传入复杂的HTML时,某些浏览器可能不会生成DOM
它完全复制了提供的HTML源代码
因此,您更新的代码段是:
$.each(elms, function(index, value) {
var textVal = $.trim($(value).parent().text());
return $('#narrowSic').append($('<span />', {
"text": textVal,
"class": 'label'
}));
});
$。每个(elms、函数(索引、值){
var textVal=$.trim($(value.parent().text());
返回$('#窄带')。追加($(''){
“文本”:textVal,
“类别”:“标签”
}));
});
这假定在所有情况下,
textVal
的值都按预期工作。使用完整的标记,$(“”
你能发布你正在使用的HTML吗?@KevinB我添加了标记的结束部分,但是我仍然得到span元素,没有任何文本更新了HTMLI的初始帖子。我认为不再支持文本
。我尝试了royh的答案,它成功了,但这更接近我的想法。谢谢!@SCS Cool.the一般原则是在使用jQuery构建元素时。从一个裸标记开始,然后构建它,无论是使用您所做的参数,还是使用标准的text()
,css()
,attr()
机制,然后追加。这样更简单、更兼容。
$(document.body).append($('<span />', {
"text": textVal,
"class": 'label'
}));
$.each(elms, function(index, value) {
var textVal = $.trim($(value).parent().text());
return $('#narrowSic').append($('<span />', {
"text": textVal,
"class": 'label'
}));
});