我正在使用Html5和jquery开发一个Web应用程序。当我尝试从当前页面导航到另一个页面时,我收到此“Error: Syntax error, unrecognized expression: #chapter?book=Exod&num=1
”错误<div data-role="page" id="chapter">
我的代码:
$(document).ready(function() {
for (var x in books) {
if (x.indexOf('_')>=0) {
var items = '<li><a href="#chapter?book='+ x.substring(1) +'&num=1">'+ books[x].bname +'</a></li>';
}
$("#book_list").append(items);
}
$('#book_list').find(':jqmData(role=listview)').listview();
});
// Listen for pagebeforechange event
$(document).bind( "pagebeforechange", function( data ) {
// only handle changePage() when loading a page by URL.
if ( typeof data.toPage === "string" ) {
// Handle URLs that requests chapter page
var url = $.mobile.path.parseUrl( data.toPage ), regex = /^#chapter/;
if ( url.hash.search(regex) !== -1 ) {
showChapter( url, data.options );
// tell changePage() we've handled this
//e.preventDefault();
}
}
});
先谢谢。
答案 0 :(得分:0)
您的网址格式不正确:
#chapter?book=Exod&num=1
尝试将#
替换为$
。
以下一行
var items = '<li><a href="#chapter?book='+ x.substring(1) +'&num=1">'+ books[x].bname +'</a></li>';
变为
var items = '<li><a href="$chapter?book='+ x.substring(1) +'&num=1">'+ books[x].bname +'</a></li>';
和另一个:
var url = $.mobile.path.parseUrl( data.toPage ), regex = /^#chapter/;
变为
var url = $.mobile.path.parseUrl( data.toPage ), regex = /^$chapter/;