0

複数の HTML アイテムが含まれ、それぞれに独自のクラスが関連付けられているコールバックから返されたコンテンツを DIV に入力しています。.append を呼び出した後、コンテンツが適切に関連付けられたスタイルで表示されません。

$.ajax({
    type: "GET",
    url: "blah.xml",
    dataType: "xml",
    data: myData,
    success: function(xml) {
        $(xml).find('item').each(function(){
            var id = $(this).attr('appId');
            $('<li><h5 class="thing">' + id + '</h5>').appendTo('#results');
        });
    }
});

そのため、ID を取得し、クラス "thing" を使用して H5 に ID を設定し、DIV の結果に追加します。それは問題なく動作しますが、問題は、これが発生した場合、「thing」という名前のクラスが適用されないことです。間違いなくそこにありますが、レンダリングされません。

何か案は?

4

2 に答える 2

1
$('#results').append('<li><h5 class="thing">' + id + '</h5>');

したがって、パフォーマンス上の理由や、の自動クローズなど、さまざまな理由から、<ul>最初にサブツリー全体を文字列として作成することをお勧めします。

var s = '<ul>';
$(xml).find('item').each(function(){
    var id = $(this).attr('appId');
    s += '<li><h5 class="thing">' + id + '</h5></li>';
});
$('#results').append(s + '</ul>');
于 2013-01-07T23:46:11.273 に答える
0

「li」のリストを使用したい場合は、タグ「ul」を使用してください。

$('#results').append('<ul></ul>');

次に、次のようなコードを記述する必要があります。

    var results = "";
    $(xml).find('item').each(function(){
         var id = $(this).attr('appId');
         results+= '<li><h5 class="thing">' + id + '</h5></li>';
     });
    $('#results ul').append(results);
于 2013-01-08T00:15:21.483 に答える