1

我正在使用 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();
            }
        }
    });

提前致谢。

4

1 回答 1

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/;

演示

于 2013-11-15T11:15:07.543 回答