我几个小时都撞到了墙上,现在依然无法使它工作。jQuery Mobile 1.4.5 - 导航到动态创建页面时出错
我正在做一个Web应用程序,使用多页面模板(有我index.html
多页
目的:。动态地创建一个新的页面,然后在屏幕上显示此页
问题:创建页面,并试图改变这一页,我得到以下错误后:Error: Syntax error, unrecognized expression: :nth-child
在jquery.mobile-1.4.5.js:1850:8
相关的代码可以在下面找到:
的JavaScript
// Add the page to the DOM
$.mobile.pageContainer.append(page);
// Change the page
$.mobile.pageContainer.pagecontainer('change', $('#' + pageId));
HTML
的页面已经被创建并添加到<body>
,所以我会忽略HTML部分。
我觉得这个页面可能没有注册到pagecontainer中,这会给出错误?我看了,但似乎没有一个pagecontainer刷新方法。
有关如何解决此问题的任何想法?
编辑1:
使用上述代码导航到另一个页面,例如主页工作得很好。唯一不工作的页面是新创建的页面。
编辑2:
看来我创建的页面产生错误。用于导航到该页面的代码正常工作。
我用它来创建页面的代码:
var page = $('<div/>', {
id: pageId,
'data-role': 'page',
'data-dom-cache': 'false',
});
var content = $('<div/>', {
'data-role': 'content',
});
var courseTabs = $('<div/>', {
'data-role': 'tabs',
});
var courseNavbar = $('<div/>', {
'data-role': 'navbar',
}).append($('<ul/>'));
var courseBtn = $('<a/>', {
href: '#',
class: 'ui-btn',
text: 'testbutton',
});
// Glue the page parts together in the page.
courseTabs.append(courseNavbar);
content.append(courseTabs).append(courseBtn);
page.append(content);
// Add the page to the DOM
$.mobile.pageContainer.append(page);
// Navigate to the page
$.mobile.pageContainer.pagecontainer("change", page, {
transition: "flip"
});
以上代码生成错误。
你试过'.pagecontainer(“变”,页) ;'你在使用jQuery 3.x吗?你可以添加一个动态页面的例子吗? – Omar
@Omar请注意,pagecontainer函数适用于webapp初始化后的其他页面。我使用的jQuery包含在jQuery Mobile的下载包中。它可以像这样找到:'jquerymobile.com>下载最新的>提取文件'。在提取的地图中:jquery.mobile-1.4.5> demos> js> jquery.mobile-1.4.5.js'。我尽管重命名了文件(到'jquery.js')。 – JiFus
索引内有多少页?你是否浏览索引文件以外的其他文件? – Omar