错误:语法错误,无法识别的表达式Jquery

时间:2013-11-12 04:51:30

标签: jquery html5 jquery-mobile

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

先谢谢。

1 个答案:

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

Demo