使用JQM v1.1。宣布了一个带有数据角色的UL标签。我的data-role = page之一上的数据主题,这是一个页面(多页面文档)。
<ul id="dailylistul" data-role="listview" data-theme="d">
有一些代码注入LI,如下所示 -
<script type="text/javascript">
$("#dailylisthref").click(function () {
$('#dailylistul').children().remove();
$('#dailylistul').attr('data-role', 'slide');
$('#dailylistul').attr('data-theme', 'd');
var obj = { one:1, two:2, three:3, four:4, five:5 };
$.each(obj, function(i, val) {
//console.log("iteration " + val);
$('#dailylistul').append('<li>' + val + '</li>');
})
$.mobile.changePage("#dailylistpage", "slide");
})
除了$('#dailylistul')。attr('data-role','listview')第一次没有发生之外,这种方法很好。 UL的子项上的remove()也删除了UL中的样式。并且下次不会在代码中再次应用重置的样式。还有其他办法吗?
答案 0 :(得分:0)
首先,当你将数据角色属性设置为幻灯片时,我假设你的意思是listview。
那说我不确定你为什么要重置列表视图中的属性,你应该能够删除它的内容, 像
这样的东西$("#dailylisthref").click(function () {
$('#dailylistul').empty();
var obj = { one:1, two:2, three:3, four:4, five:5 };
$.each(obj, function(i, val) {
//console.log("iteration " + val);
$('#dailylistul').append('<li>' + val + '</li>');
})
$.mobile.changePage("#dailylistpage", "slide");
})
修改JQM列表后(添加元素后),需要调用它的刷新方法。您还可能需要在显示页面之前调用它,例如
$(document).delegate('#dailylistpage', 'pageshow', function () {
$('#dailylistul').listview('refresh');
});
答案 1 :(得分:0)
试试这个
$('#dailylistul li').remove();
var obj = { one:1, two:2, three:3, four:4, five:5 };
$.each(obj, function(i, val) {
$('#dailylistul').append($('<li>' + val + '</li>'));
});
$('#dailylistul').listview('refresh');
$.mobile.changePage("#dailylistpage", "slide");