Jquery 在ul和li列表中显示数据

Jquery 在ul和li列表中显示数据,jquery,jquery-mobile,Jquery,Jquery Mobile,我在ul和li列表中显示我的新闻数据时面临一个问题。代码是: $('#NewsPage').live('pagebeforeshow',function(event, ui){ Newslist = ""; $.each(NewsObject, function(k,v){ Newslist += "<li><a href='#'>" + v.news_title + "</a></li>"; });

我在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); 
}); 
$(“#新闻页”).live('pagebeforeshow',函数(事件,用户界面){
新闻列表=”;
$.each(新闻对象,函数(k,v){
新闻列表+=“
  • ”; }); $(“ul#displayNews”).html(新闻列表); });
    在我的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文件头中。您的选择器不正确
      ul#displayNews
      查找
      ,而不是
      \displayNews
      中包含的
      ul

      试试这个(为了方便起见,添加一点
      .append
      ):

      HTML:

      
      
        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"); 
        }); 
        
        $(“#新闻页”).live('pagebeforeshow',函数(事件,用户界面){
        新闻列表=”;
        $.each(新闻对象,函数(k,v){
        新闻列表+=“
      • ”; }); $(“#displayNews ul”).html(新闻列表).listview(“刷新”); });
        请注意,我必须在li前后添加空格,以便在StackOverflow中正确显示。感谢mblase75的回复。我尝试了.append,但仍然没有显示数据:sfirebug说$(文档)。on不是一个函数。我忘了提到
        $(文档)。on
        需要jQuery 1.7或更高版本。aha I c。我正在运行jQuery1.6。但是,使用“#displayNews ul”解决了我的问题,但数据显示不正确。我有两行用json获取的数据要在li中显示,但这两行仅在一个li中显示。下面是代码:$(“#NewsPage”).live('pagebeforeshow',function(event,ui){var Newslist;Newslist=”“;$。每个(newobject,function(k,v){Newslist+=”
      • “;Newslist+=v.news_title;Newslist+=”
      • “;});$(“#displayNews ul”)。追加(Newslist););该代码应该可以正常工作。我建议使用浏览器的调试器查看浏览器正在查看的内容,或者在新问题中发布新问题。
        $(document).on('pagebeforeshow','#NewsPage', function(event, ui){ 
            $.each(NewsObject, function(k,v){ 
                $('#displayNews ul').append('<li><a href="#">' + v.news_title + '</a></li>'; 
            }); 
        }); 
        
        <div data-role="content"> 
          <div id="displayNews"> 
              <ul data-role="listview" data-inset="true" data-filter="true"> </ul> 
          </div> 
        </div> 
        
        $('#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"); 
        });