2012-06-14 59 views
0

我使用的是HTML5,Jquery(v1.6.4)和jquery-mobile(jquery.mobile-1.0.1.js)。jquery-mobile css沒有反映在HTML頁面上?

我想用Jquery動態填充數據。填充後,頁面顯示不正確。 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>"); 
}); 

請幫我出這一點。

回答

1

您是動態創建一個列表,所以你需要告訴jQuery Mobile的約,並要求它「enhanc加載e'的內容。您可以通過調用

$("changed-parent-element").listview("create"); 

做到這一點。如果你有一個現成的,強化列表其中添加元素,你需要告訴JQM通過調用

$("changed-parent-element").listview("refresh"); 
,以提高你做的新內容
1

您正在將li元素附加到#test以及格式錯誤的元素(ul的開始和結束標記)。

您需要將您的li元素附加到您的ul元素,然後將其附加到您的#test元素。

(追加()作用於DOM,它不只是把HTML代碼到像一個字符串的元素。)

所以應該看起來更像是這樣的:

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