我正在使用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>");
});
请帮我解决这个问题。
答案 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>