我在ul和li列表中显示我的新闻数据时遇到了问题。代码是:
$('#NewsPage').live('pagebeforeshow',function(event, ui){
Newslist = "";
$.each(NewsObject, function(k,v){
Newslist += "<li><a href='#'>" + v.news_title + "</a></li>";
});
$("ul#displayNews").html(Newslist);
});
在我的html文件中我有:
<div data-role="content">
<div id="displayNews">
<ul data-role="listview" data-inset="true" data-filter="true"> </ul>
</div>
</div>
请注意,Newslist是一个全局变量,我在一个名为gv_file.js的文件中定义并包含在html文件的头部
答案 0 :(得分:0)
您的选择器不正确。 ul#displayNews
查找<ul id="displayNews">
,而不是ul
中包含的#displayNews
。
试试这个(为方便起见,有一点.append
好):
$('#NewsPage').live('pagebeforeshow',function(event, ui){
$.each(NewsObject, function(k,v){
$('#displayNews ul').append('<li><a href="#">' + v.news_title + '</a></li>';
});
});
或者更好的是,使用更现代的on()
代替live()
(需要jQuery 1.7或更高版本):
$(document).on('pagebeforeshow','#NewsPage', function(event, ui){
$.each(NewsObject, function(k,v){
$('#displayNews ul').append('<li><a href="#">' + v.news_title + '</a></li>';
});
});
答案 1 :(得分:0)
HTML:
<div data-role="content">
<div id="displayNews">
<ul data-role="listview" data-inset="true" data-filter="true"> </ul>
</div>
</div>
jQuery的:
$('#NewsPage').live('pagebeforeshow',function(event, ui){
Newslist = "";
$.each(NewsObject, function(k,v){
Newslist += "<li><a href='#'>" + v.news_title + "</a></li>";
});
$("#displayNews ul").html(Newslist).listview("refresh");
});