JQuery Mobile - 附加新的动态内容 - 未应用CSS

时间:2013-07-07 11:01:25

标签: javascript jquery css jquery-mobile

这是之前被问过的东西,但我仍然无法让它发挥作用。我正在向页面添加动态内容(列表视图),并且CSS在添加后会丢失。我读到了触发器(“创建”),甚至在添加它之后,CSS也没有被应用。

$('#MyClubsListDiv').append('<ul id=\"MyClubsList\" data-role=\"listview\"></ul>').trigger("create");

for (var i=0; i<MyClubsReply.length; i++) 
{
    addClub('#MyClubsList',MyClubsReply[i].Name,MyClubsReply[i].LogoImg,MyClubsReply[i].LastUpdate);
    $('#MyClubsListDiv').trigger("create");
}


function addClub(section,clubName,logoFile,LastUpdate)
{
    $(section).append('<li class=\"ClubListItem\">' +
            '<a href=\"#ClubPage\" data-transition=\"slide\">' +
                '<img src=\"' + PiccoloServer + 'ClubLogos/' + logoFile + '\" class=\"listview-logo-thumb\" />' +
                '<div class=\"ClubListContent\">' +
                    '<h1 class=\"ClubListH1\">' + clubName + '</h1>' +
                    '<p >20 Offers Available</p>    ' +
                '</div>' +
                '<p class=\"ui-li-count\">25d</p>' +                    
            '</a>' +
        '</li>').trigger("create");
}

“MyClubsReply”是一个JSON对象。

我做错了什么? (或者不做?)

1 个答案:

答案 0 :(得分:2)

我已经创建了这个jsfiddle让你理解它。

您必须在UL Listview建筑物上使用触发器(“创建”),但每次添加新列表项时都需要使用listview(“刷新”)。

http://jsfiddle.net/eRsMV/

<div id="MyClubsListDiv"></div>
<button id="addClubBtn">Add New Club</button>

$('#MyClubsListDiv').append('<ul id=\"MyClubsList\" data-role=\"listview\"></ul>')
    .trigger("create");

$("#addClubBtn").on("click", function () {
    $("#MyClubsList").append(
        '<li class=\"ClubListItem\">' +
        '<a href=\"#ClubPage\" data-transition=\"slide\">' +
        '<img src=\"http://si0.twimg.com/profile_images/2366293550/Club_logo_normal.png\" class=\"listview-logo-thumb\" />' +
        '<div class=\"ClubListContent\">' +
        '<h1 class=\"ClubListH1\">Major Club</h1>' +
        '<p>20 Offers Available</p>' +
        '</div>' +
        '<p class=\"ui-li-count\">25d</p>' +
        '</a>' +
        '</li>'
    ).listview("refresh");
});