我在应用程序中使用$.get()来检索设施名称列表。然后,我想将它们作为列表项插入jquery mobile中已经存在的列表项。当我在html中添加单个元素时,它看起来很好,但是当我使用for循环时,结果没有任何样式效果。
http://jsfiddle.net/mkamyszek/YDFZ3/1/<div data-role="page">
<div data-role="header">
<h1>My Title</h1>
</div><!-- /header -->
<div data-role="content">
<ul data-role="listview" data-inset="true" data-filter="true" id="fieldList">
<li>Test</li>
</ul>
</div><!-- /content -->
</div><!-- /page -->
循环输出正确的信息,但由于某些原因,当我使用循环时,样式不适用:
for (i=0; i<=5; i++){
$("ul").append("<li>something" + i + "</li>");
}
这是因为您需要在添加新内容后重新设置listview的样式。
这样做:
$('#listviewID').listview('refresh');
有时,当listview是动态生成的,它会要求你在它可以被样式化之前初始化它,所以在这种情况下,使用这个:
$('#listviewID').listview().listview('refresh');
工作示例:http://jsfiddle.net/Gajotres/LrAyE/
这是你的例子中的一个工作示例:http://jsfiddle.net/Gajotres/HuKab/
在附加项后使用$('.selector').listview('refresh');
for (i=0; i<=5; i++){
$("ul").append("<li>something" + i + "</li>");
$('[data-role=listview]').listview('refresh');
}