Jquery移动和动态链接

Jquery移动和动态链接,jquery,jquery-mobile,cordova,append,Jquery,Jquery Mobile,Cordova,Append,为了一个工作项目,我在使用Jquery手机时遇到了一个小绊脚石,我在上面转了太久,所以是时候进行同行评议了 这个概念是这样的:有一个带有“最近facebook条目”按钮的主页。单击后,该按钮将带您进入第二个页面,其中的结果将从facebook rss提要中提取,并包装在指向同一页面上书签的标记中(符合JQM约定)。到目前为止,我没有问题,链接正确地填充了标题,href正确地指向href=“detailpage”+I。问题是,当我尝试创建相应的内容容器并使用匹配的detailpage+I id将其

为了一个工作项目,我在使用Jquery手机时遇到了一个小绊脚石,我在上面转了太久,所以是时候进行同行评议了

这个概念是这样的:有一个带有“最近facebook条目”按钮的主页。单击后,该按钮将带您进入第二个页面,其中的结果将从facebook rss提要中提取,并包装在指向同一页面上书签的标记中(符合JQM约定)。到目前为止,我没有问题,链接正确地填充了标题,href正确地指向href=“detailpage”+I。问题是,当我尝试创建相应的内容容器并使用匹配的detailpage+I id将其附加到body标记时,链接只会将我带回主页,而不是新附加的内容

我的想法是,可能dom在创建新内容后不知道新内容在那里,因此,没有匹配的元素,只返回第一个“page”元素

我将jqm1.0b2和jquery1.6.2与phonegap一起使用

我正在执行的操作如下所示:

$('#gotoContentpage').click(function(){

    $("#contentlist").empty(); //empty the list elements we've placed in the html
    $.ajax({
           type: "GET",
           url: "https://www.facebook.com/feeds/page.php?id=212385708771580&format=rss20",
           dataType: "xml",
           success: parseXml
           });

    function parseXml(xml){    
        var i =1;
        $(xml).find("item").each(function(){
            var pageid = "detailpage" + i;                     
            $("#contentlist").append("<li><a href='#"+pageid+"'>" + ($(this).find("title").text()) + "</a></li>");

            $("body").append("<div data-role='page' id='"+pageid+"'><div data-role='header'><a data-rel='back'>back</a><h1>" + ($(this).find("title").text()) + "</h1></div><div data-role='content'>" + ($(this).find("description").text()) +"</div><div data-role='footer'><h1>  detail Page Footer </h1></div></div>");

          i++;
          });


          $("#contentlist").listview('refresh'); 

         }


     });            
$('gotoContentpage')。单击(函数(){
$(“#contentlist”).empty();//清空我们在html中放置的列表元素
$.ajax({
键入:“获取”,
url:“https://www.facebook.com/feeds/page.php?id=212385708771580&format=rss20",
数据类型:“xml”,
成功:parseXml
});
函数parseXml(xml){
var i=1;
$(xml).find(“项”).each(函数(){
var pageid=“detailpage”+i;
$(“#内容列表”)。追加(“
  • ”); $(“正文”)。附加(“

    编辑:经过几个小时的轮转和改变方法后,我似乎找到了一个解决方案。与最初加载的所有其他链接一样,我没有将href指向书签,而是被迫使用$.mobile.changePage函数来到达我需要去的地方

    "<li><a href='javascript:void(0)' onclick=\"javascript: $.mobile.changePage($('"+'#'+pageid+ "'), 'slide');\">" + "foobar"</a></li>"
    

  • 希望这对某人有所帮助。

    我相信,动态添加的页面应该添加
    数据url
    属性,以便在导航中启用它。 如果我没记错的话,这是在JQM对“返回”按钮和“历史记录”进行大修时添加的。该ID不再用于导航

    就你而言:

    $("body").append("<div data-role='page' data-url='"+pageid+"' id='"+pageid+"'><div data-role='header'><a data-rel='back'>back</a><h1>" + ($(this).find("title").text()) + "</h1></div><div data-role='content'>" + ($(this).find("description").text()) +"</div><div data-role='footer'><h1>  detail Page Footer </h1></div></div>");
    

    可能是调用
    .page()
    只需添加
    数据url
    ,我会在有时间时检查并更新我的答案。

    我相信,动态添加的页面应该添加
    数据url
    属性,以便在导航中启用它。 如果我没记错的话,这是在JQM对“返回”按钮和“历史记录”进行大修时添加的。该ID不再用于导航

    就你而言:

    $("body").append("<div data-role='page' data-url='"+pageid+"' id='"+pageid+"'><div data-role='header'><a data-rel='back'>back</a><h1>" + ($(this).find("title").text()) + "</h1></div><div data-role='content'>" + ($(this).find("description").text()) +"</div><div data-role='footer'><h1>  detail Page Footer </h1></div></div>");
    

    可能是调用
    .page()
    只需添加
    数据url
    我会在有时间时检查并更新我的答案。

    非常有用的帖子,一件小事,url上的.php后面缺少“?”…我知道很小。:)很高兴它帮助了你。(修复了url错误,谢谢!)非常有用的帖子,一件小事,你错过了url上.php之后的“?”…我知道。很高兴它帮了你。(修复了url错误,谢谢!)