我正在使用PhoneGap编写iPhone应用程序。我正在尝试解析Facebook RSS Feed并使用jFeed这样做。我得到了Feed,我可以将它显示给用户。然而,当谈到样式化RSS Feed以使其看起来很好(使用JQuery Mobile CSS属性)时,它没有考虑属性(ul和li标记)。 有没有办法使用JQuery Mobile设置RSS Feed的样式? 这是我正在使用的代码(index.html):
<!DOCTYPE html>
<html>
<head>
<title>BDA Audencia</title>
<meta charset="utf-8" />
<meta content="yes" name="apple-mobile-web-app-capable">
<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1,
minimum-scale=1, width=device-width, height=device-height,
target-densitydpi=device-dpi" />
<!-- JQUERY CSS -->
<script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.css" />
<!-- CORDOVA - PHONE GAP -->
<script type="text/javascript" src="cordova-2.4.0.js"></script>
<script type="text/javascript" src="js/index.js"></script>
<link rel="stylesheet" href="style/site.css">
<!-- RSS FEED -->
<script type="text/javascript" src="js/jquery.jfeed.pack.js"></script>
<script>
jQuery(function() {
jQuery.getFeed({
url: 'http://www.facebook.com/feeds/page.php?id=360453900718092&format=atom10',
success: function(feed) {
var html = '';
for(var i = 0; i < feed.items.length && i < 5; i++) {
var item = feed.items[i];
html += '<li data-role="list-divider"><span style=" right: 45px;position: absolute; font-size: 11px; font-weight: bold; padding: .2em .5em; top: 50%; margin-top: -.95em;; right: 10px;">'
+ item.updated
+ '</span></li>'
+ '<li>'
+ item.description
+ '</li>';
}
html += html + '';
jQuery('#result').append(html);
}
});
});
</script>
<!-- Changing the position of this code will not make $.mobile.defaultPageTransition work. DO NOT CHANGE IT -->
<script src="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.js"></script>
</head>
<body>
<div data-role="page" id="index">
<div data-role="header" data-position="fixed">
<h1>Test RSS</h1>
</div>
<div data-role="content">
<div class="content-primary">
<ul data-role="listview" data-theme="d" data-divider-theme="d">
<div id="result"></div>
</ul>
</div>
</div>
<div data-role="footer" data-theme="d">
</div>
</div><!-- /page one -->
答案 0 :(得分:1)
div
直接在ul
内部的HTML结构不正确。
<ul data-role="listview" data-theme="d" data-divider-theme="d">
<div id="result"></div>
</ul>
请按以下方式更改
<ul id="result" data-role="listview" data-theme="d" data-divider-theme="d">
</ul>
然后在jQuery('#result').append(html);
此代码之后添加代码以刷新listview。因为jquery移动标记是在pagecreate时生成的。在您的情况下,您是动态获取数据并构建列表视图。因此,您必须通过uisng .listview( "refresh" )
修改后的代码如下:
$('#result').append(html);
$('#result').listview("refresh");
有关jquery mobile中listview的更多信息。
参考:http://jquerymobile.com/demos/1.2.0/docs/lists/lists-methods.html