【问题标题】:Error: Syntax error, unrecognized expression Jquery错误:语法错误,无法识别的表达式 Jquery
【发布时间】:2013-11-19 00:16:05
【问题描述】:

我正在使用 Html5 和 jquery 开发一个 Web 应用程序。当我尝试从当前页面导航到另一个页面 <div data-role="page" id="chapter"> 时,我收到此“Error: Syntax error, unrecognized expression: #chapter?book=Exod&num=1”错误

我的代码:

  $(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();
            }
        }
    });

提前致谢。

【问题讨论】:

标签: jquery html jquery-mobile


【解决方案1】:

您的网址格式不正确:

#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

【讨论】:

  • getting "Error loading message"... #chapter is navigation page id please check my html and code in fiddle.
  • 我已经用演示更新了我的答案。运行它。您会注意到一条错误消息:“错误加载页面”。浏览器正在尝试加载类似 fiddle.jshell.net/_display/$chapter?book=XXX 的内容,其中 XXX 是书名。因此,将代码带回您的服务器上并在那里重新测试。
  • 是的,我用你的演示更改了我的代码,但我给出了这本书的正确路径并且它没有加载
  • 我建议您现在使用 Chrome 及其 DevTools 之类的浏览器来调查您面临的具体问题。
  • 是的,我使用的是 firefox firebug……它没有显示任何错误……只是在屏幕上显示消息为“加载时出错”……但我给出了正确的书籍路径
猜你喜欢
  • 2016-03-21
  • 2012-08-28
  • 2013-02-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-17
相关资源
最近更新 更多