Jquery mobile JqueryMobile动态css未呈现

Jquery mobile JqueryMobile动态css未呈现,jquery-mobile,Jquery Mobile,我有一份2页的文件。活动页面显示一个列表,单击列表,我将显示第二个页面。第二个页面的内容div与JS中的一些自定义css一起动态添加。下面的Java脚本完成了这项工作,但我无法获得css渲染    $("#showmore").live("click", function(event, param1){              getUrl = $(this).attr('data-href');        $.post(getUrl, function(data){      

我有一份2页的文件。活动页面显示一个列表,单击列表,我将显示第二个页面。第二个页面的
内容
div与JS中的一些自定义css一起动态添加。下面的Java脚本完成了这项工作,但我无法获得css渲染

   $("#showmore").live("click", function(event, param1){       
        getUrl = $(this).attr('data-href');
        $.post(getUrl, function(data){  
            $.mobile.hidePageLoadingMsg(); 
            $('#more').html(data);
            $.mobile.activePage.page().trigger('refresh');
        });    
    });    
我还尝试了
$.mobile.activePage.trigger('create')。这是可行的,但我在这两页上来回浏览。但是,当我第二次单击列表时,内容根本没有呈现出来。这是一个只有页眉的空白页


有谁能分享一下你的专业知识,告诉我如何使用css将动态内容添加到第二个页面,并在同一个页面上显示任意次数的内容

只需对要替换的元素调用
.trigger('create')

$("#showmore").live("click", function(event, param1){       
    var getUrl = $(this).attr('data-href');//don't unnecessarily create global vars
    $.post(getUrl, function(data){  
        $.mobile.hidePageLoadingMsg();

        //since you are only changing this HTML, you only have to initialize this HTML
        $('#more').html(data).trigger('create');
    });    
});
我遇到过这样的情况:这似乎不起作用,但我成功地分别初始化了每种类型的小部件,如下所示:

$("#showmore").live("click", function(event, param1){       
    var getUrl = $(this).attr('data-href');//don't unnecessarily create global vars
    $.post(getUrl, function(data){  
        $.mobile.hidePageLoadingMsg();

        $('#more').html(data).find('a[data-role="button"]').button().end()
                             .find('ul[data-role="listview"], ol[data-role="listview"]').listview().end()
                             ...
    });    
});
下面是一个向DOM动态添加HTML的演示,然后让jQuery Mobile初始化HTML中的小部件:


另外,请确保您正在向小部件添加
data role=“button”
(等),以便jQuery Mobile知道如何初始化它们(我上面的代码假设您已经这样做了)。

我最近在jQuery中也有过类似的经历,在Firefox中没有呈现动态内容。我让我的网站正常运行,我认为问题可能在于这一行: $('#more').html(数据)

尝试用innerHTML方法替换它,看看是否有效


干杯

我在寻找我认为相同的答案。我正在尝试更改单个列表项的背景。JQM在我的CSS类之后添加它们的CSS类,从而覆盖它们。@Mike\G当jQuery Mobile在初始化小部件时添加这些类时,您的类不会被删除。这使您能够使用
!重要信息
在您的CSS声明中,或者您可以制定更具体的CSS规则,以便在jQuery移动类中使用它们:
.ui Mobile.ui page.ui content.ui listview.ui li.ui btn{color:hot pink;}
。。。例如,将覆盖jQuery Mobile样式,因为它非常具体(但适用于jQuery Mobile网页内伪页面内内容部分内列表视图列表项内的所有按钮)。非常感谢您的提示jasper!我甚至厌倦了像你建议的那样创造元素。这次没有显示任何动态内容。这是我试图将
内容
注入的页面代码`@user1339736我在回答中添加了一个演示:。看看这是否有助于你解决问题。确保您正在向小部件添加正确的
数据角色
属性值,我的代码希望这些
数据属性
存在。谢谢。我会设法弄清楚的。我尝试触发已更改的元素和find。有趣的是,这个发现没有应用css。但这两种方法都只是第一次奏效。当我逐页返回到同一页时,页面内容是空白的。动态内容的一部分是将页面转换到初始页面的链接。从第一页开始,我将返回到新页。我将进一步查看您提供的示例代码,并查看我的代码,看看我可能做得不正确。没有发生页面转换。在我拥有的列表中,我将切换到第二页,其中包含动态内容,并切换回包含列表的初始页面。因此,JSFIDLE示例中的情况与我的情况不同。@user1339736 jQuery移动小部件初始化/刷新工作得非常好,您只需将代码转换为正确的格式。下面是一个更新的JSFIDLE,它表明您可以随时添加动态内容:(不,这不使用AJAX,但我可以告诉您,它在功能上是相同的,因此我不使用AJAX这一事实不适合您的情况)。当您使用
.html()时,jQuery在内部使用
.innerHTML
如果浏览器支持
.innerHTML
,则函数。我知道这一点,但在我将其缩小到.html()的任何/所有用法之后,使用.innerHTML修复了它。如果我有空闲时间,我甚至会想办法找出原因。