2

チェックされたチェックボックスのコレクションを反復処理し、チェックされた各ボックスのテキストをスパンとして div に追加しようとしています。オプションタグを選択してこれを試してみましたが、正常に動作しますが、スパンタグを使用すると、テキストが表示されないようです。

$.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>
4

3 に答える 3

3

トリッキーな部分については、実際に必要なコードは、デバッグのために本文に追加しているメモのようなものだと思います。

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

http://api.jquery.com/jQuery/#jQuery2で jQuery のドキュメントを参照し、次の注意事項に注意してください。

複雑な HTML を渡す場合、一部のブラウザーは、提供された HTML ソースを正確に複製する DOM を生成しない場合があります。

したがって、更新されたスニペットは次のとおりです。

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

textValこれは、すべての場合において、 の値が期待どおりに機能していることを前提としています。

于 2012-07-24T21:40:32.850 に答える
2
$.each(elms, function(index, value) { 
    var textVal; 
    textVal = $.trim($(value).parent().text()); 
    $('#narrowSic').append($('<span class=label>' + textVal + '</span>')); 
});
于 2012-07-24T21:31:01.017 に答える
1

.text()関数を使用してテキストを設定できます。

$.each(elms, function(index, value) {
     var textVal;
     textVal = $.trim($(value).parent().text());
     return $('#narrowSic').append($('<span class="label">').text(textVal));
});
于 2012-07-24T21:31:02.933 に答える