Jquery-mobile css没有反映在HTML页面上?

时间:2012-06-14 08:53:30

标签: jquery html5 jquery-mobile

我正在使用HTML5,Jquery(v1.6.4)和Jquery-mobile(jquery.mobile-1.0.1.js)。

我想使用Jquery动态填充数据。填充后,Page无法正常显示。 Jquery-mobile主题和样式表不会影响页面。

代码

的test.html

<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="jquery.mobile-1.0.1.css" type="text/css" charset="utf-8">
<link rel="stylesheet" href="jquery.mobile.structure-1.0.1.css" type="text/css" charset="utf-8">

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript"src="jquery.mobile-1.0.1.js"></script>
<script src="main.js" type="text/javascript" charset="utf-8"></script>

<title>Test</title>
 </head>
  <body>
        <div id="test"> </div>
</body>
</html>

main.js代码

 $(document).ready(function(){

    $("#test").append("<ul data-role='listview'>"); 
    $("#test").append("<li>Srikanth</li>");
    $("#test").append("<li>Chil</li>");
    $("#test").append("<li>Devi</li>");
    $("#test").append("</ul>");
 });

请帮我解决这个问题。

3 个答案:

答案 0 :(得分:1)

您将li个元素追加到#test,以及格式错误的元素(ul的开始和结束标记)。

您需要将li元素附加到ul元素,然后将其附加到#test元素。

(append()适用于DOM,它不仅仅像将字符串放入元素中一样。)

所以看起来应该更像这样:

var ul = $("<ul data-role='listview'></ul>");
ul.append("<li>foo</li>");
ul.appendTo("#test");

答案 1 :(得分:1)

您正在动态创建一个列表,因此您需要告诉jQuery Mobile并要求它“增强”内容。你可以通过调用

来做到这一点
$("changed-parent-element").listview("create");

如果您有一个现有的增强列表,您要添加元素,您需要告诉JQM增强您通过调用

所做的新内容
$("changed-parent-element").listview("refresh");

答案 2 :(得分:0)

请使用文件的绝对路径,或至少使用./从当前文件夹加载

<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="./jquery.mobile-1.0.1.css" type="text/css" charset="utf-8">
<link rel="stylesheet" href="./jquery.mobile.structure-1.0.1.css" type="text/css" charset="utf-8">

<script type="text/javascript" src="./jquery.js"></script>
<script type="text/javascript"src="./jquery.mobile-1.0.1.js"></script>
<script src="./main.js" type="text/javascript" charset="utf-8"></script>

<title>Test</title>
 </head>
  <body>
        <div id="test"> </div>
</body>
</html>