Jquery mobile JqueryMobile动态css未呈现
我有一份2页的文件。活动页面显示一个列表,单击列表,我将显示第二个页面。第二个页面的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){
内容
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修复了它。如果我有空闲时间,我甚至会想办法找出原因。