附加的span标记don'我没有指定文本

Appended span tags don't have assigned text

本文关键字:文本 span 标记 don      更新时间:2024-01-27

我试图迭代一组选中的复选框,并将每个复选框的文本作为跨度附加到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>

我相信对于棘手的部分,您实际想要的代码类似于注意,我将在正文中添加调试

$(document.body).append($('<span />', {
    "text": textVal,
    "class": 'label'
}));​

请参阅jQuery文档,网址为http://api.jquery.com/jQuery/#jQuery2注意这个警告:

在传入复杂HTML时,某些浏览器可能不会生成DOM它完全复制了所提供的HTML源代码

所以你更新的代码片段是:

$.each(elms, function(index, value) {
    var textVal = $.trim($(value).parent().text());
    return $('#narrowSic').append($('<span />', {
        "text": textVal,
        "class": 'label'
    }));
});

这假设在所有情况下,textVal的值都如您所期望的那样工作。

$.each(elms, function(index, value) { 
    var textVal; 
    textVal = $.trim($(value).parent().text()); 
    $('#narrowSic').append($('<span class=label>' + textVal + '</span>')); 
});

您可以使用.text()函数设置文本:

$.each(elms, function(index, value) {
     var textVal;
     textVal = $.trim($(value).parent().text());
     return $('#narrowSic').append($('<span class="label">').text(textVal));
});