我正在使用jQuery Mobile构建移动Web应用程序,但是我遇到了问题。我正在使用jQuery解析XML文件并创建列表项。它会构建列表,然后将该的列表附加<li>到<ul>页面上的。我读到,为了使列表具有正确的样式,必须.listview('refresh')在添加数据以刷新列表后调用,以便jQuery Mobile可以为列表设置正确的样式。
<li>
<ul>
.listview('refresh')
我的问题是列表永远不会刷新。它一直在样式不正确。难道我做错了什么?我的代码正确吗?仅供参考,我已经尝试了所有种类的变化.listview(),.listview('refresh')等等。
.listview()
码:
<script type="text/javascript"> $(window).load(function() { $.ajax({ type: "GET", url: "podcast.xml", dataType: "xml", async: false, success: parseXml }); }); function parseXml(xml) { var podcastList = ""; $(xml).find("item").each(function() { podcastList += "<li class='ui-li-has-thumb ui-btn ui-btn-icon-right ui-li ui-btn-up-c' role='option' data-theme='c'><img src='" + $(this).find("itunes\\:image").attr("href") + "' class='ui-li-thumb'><h3 class='ui-li-heading'><a href='" + $(this).find("enclosure").attr("url") + "' class='ui-link-inherit'>" + $(this).find("title").text() + "</a></h3><p class='ui-li-desc'>" + $(this).find("itunes\\:subtitle").text() + "</p></li>"; }); $("#podcastList").append(podcastList); $("#podcastList").listview('refresh'); } </script>
谢谢!
我遇到了与您的代码相似的问题。我的解决方案是将刷新放入$ .ajax“完成”选项。
complete: function() { $('#list-id').listview('refresh'); }