我正在使用 jQuery Mobile 为移动平台构建一个简单的 Web 应用程序,其中,我打算从 API 中读取一些数据,将其作为 JSON 发送(我已经从基于 Django 的服务器端项目中公开),然后使用 jQuery 解析它机制,然后我根据该数据创建列表元素。现在,我有以下 index.html:
<html>
<head>
<title>Playism App</title>
<script type="text/javascript" src="js/jquery-1.10.2.min.js"></script>
<script type="text/javascript" src="js/jm/jquery.mobile-1.3.2.min.js"></script>
<script type="text/javascript" src="js/jsonParser.js"></script>
<link rel="stylesheet" type="text/css" href="css/major.css">
<link rel="stylesheet" type="text/css" href="js/jm/jquery.mobile-1.3.2.min.css">
<link rel="stylesheet" type="text/css" href="js/jm/jquery.mobile.theme-1.3.2.min.css">
</head>
<body>
<p>List of games: </p><br/>
<div id="gameContainer" data-role="page">
<ul data-role="listview" data-inset="true" data-filter="true" id="gamesList">
<!-- Content here will be dynamically generated based on the JSON output parsed from the API feed -->
<li><a href="#">Dummy</a></li>
</ul>
</div>
<script type="text/javascript" src="js/gamesRenderer.js"></script>
<script type="text/javascript">
$(document).ready(function(){
renderGames();
});
</script>
</body>
</html>
现在,只是为了测试我创建了那个虚拟列表元素并且它呈现完美,但是没有任何样式应用于我使用来自 jQuery 的 .append() 调用注入的任何新元素。代码如下:
function renderGames(){
for (var i = objCreated.length - 1; i >= 0; i--) {
$("ul#gamesList").append("<li><a href='#''>" + objCreated[i].name + "</a></li></ul>");
};
}
从 index.html 中可以看出,我在 DOM 就绪时调用它,但没有 jQuery 移动样式被应用于这些手动注入的列表元素,而 Dummy 元素得到正确的样式。我认为元素的调用顺序有问题。提前致谢 !