当向我的列表中追加项时,jquery mobile的完整样式就消失了…不知道怎么解决?
当前正在工作:如果不追加列表项,则所有样式都可以。
<div class="ui-grid-a">
<div class="ui-block-a" id="blockaid">
<ul id="leftnav" data-role="listview" data-theme="g" data-filter="true" >
<li><a href="index.html">
<img src="images/bb.jpg" />
<h3>Firstname Lastname</h3>
<p>123456789</p>
</a></li>
</ul>
</div>
<div class="ui-block-b">
...
但如果我开始从其他地方读取数据,所有样式都会消失:
$(document).ready(function() {
$.ajax({
url: 'test.xml',
dataType: "xml",
success : parse,
error : function (xhr, ajaxOptions, thrownError){
alert(xhr.status);
alert(thrownError);
}
});
function parse(document){
$(document).find("Details").each(function(){
$("#leftnav").append(
'<li>' + '<a href="#">' + '<img src="images/album-xx.jpg" />' +
'<h3>' + $(this).find('Name').text() + '</h3>' +
'<p>' + $(this).find('Number').text() + '</p>' +
'</a>' + '</li>'
);
});
}
});
怎么了?
谢谢!
最佳答案
好吧,要在新元素上触发自动样式,应该使用.trigger("create")
来完成这项工作。
参阅:Is it possible to create element on the fly with jQuery Mobile?
或http://jquerymobile.com/demos/1.0b2/#/demos/1.0b2/docs/pages/page-scripting.html
编辑:$('#leftnav').listview('refresh')
是你寻找的东西,而不是创造的东西。
参阅:http://api.jquerymobile.com/listview/#method-refresh