私は jQuery Mobile と一般的な jQuery を初めて使用し、問題に遭遇しました。2 つの AJAX 呼び出し (2 つのソースからのデータ) を使用してリストを作成しました。2 番目の呼び出しは最初の呼び出し内にあるため、常にその後に実行されます。呼び出しは、データのソースを除いて同一であり、次のとおりです。
HTML:
<ul data-role="listview" data-inset="true" data-theme="a" data-filter="true" id="allVideosList">
<li><a href="#">This item is styled properly</a></li>
</ul>
JavaScript:
var html = "";
var id = 0;
var displayName = "name";
$.ajax({
type:'GET',
url: xxxx
data: xxxx
dataType: 'jsonp',
success: function processResult(data) {
....
html += '<li data-filtertext="' + resultData.name + ' ' + date + '"><a href="index.html?id=' + id + '">' + displayName + '</a></li>';
$('#allVideosList').append(html);
});
変数は ajax 呼び出し内で定義されますが、ここでは省略されています。作成されたリストにはスタイルがなく、各項目がリンクとして表示されます。関数:
$('#allVideosList').listview('refresh');
また
$('#allVideosList').listview();
エラーを返します
$(...).listview
関数ではありません
コンソールで。関数:
$('#allVideosList').trigger('create');
何も変更しません。
変数 html をコンソールに出力し、その内容をコピーして別のページのリストに追加すると、スタイルが適切に適用されます。例えば:
HTML:
<div data-role="content" id="list">
<ul data-role="listview" data-inset="true" data-theme="a" data-filter="true" id="allVideosList">
</ul>
JAVASCRIPT:
var html = "";
html = '<li data-filtertext="insert text here"><a href="index.html?id=146">Name</a></li><li data-filtertext="insert text here 2"><a href="index.html?id=147">Name 2</a></li>'
$("#allVideosList").append(html)
正常に動作します。動的に読み込まれたリストにスタイルを適用するにはどうすればよいですか?