【问题标题】:jqeury.mmenu fires 'Syntax error, unrecognized expression' for href="#..."jquery.mmenu 为 href="#..." 触发“语法错误,无法识别的表达式”
【发布时间】:2015-06-17 14:16:28
【问题描述】:

jquery.mmenu 插件中使用 href='#/' 或任何其他以 '#' 开头的 href 时,会触发以下异常:

Syntax error, unrecognized expression: #

HTML

<body>
  <nav id="my-menu">
    <ul>
      <li><a href="#/">Home</a></li>
      <li><a href="#/about/">About us</a></li>
      <li><a href="#/contact/">Contact</a></li>
    </ul>
  </nav>
  <div>
    <div id="my-header">
      <a href="#my-menu">Open the menu</a>
    </div>
  </div>
</body>

JS

$(document).ready(function() {$("#my-menu").mmenu();});

虽然执行不受影响并且页面在所有情况下都按预期加载,但错误确实很烦人。 见fiddle:Open the menu -> Home见控制台。

在 github 上发布了 issue,但同时也在寻找任何解决方法

UDPATE

问题是resolved in 5.3.1

【问题讨论】:

  • 小提琴没有显示任何错误
  • @depperm Go Open the menu -> Home 比查看控制台
  • 我检查了控制台,使用 Chrome,没有问题
  • prntscr.com/7i0xij 也没有问题(在 Chrome 中),已记录。你用的是什么浏览器?
  • 在 3 台 dirrefent 机器上使用 43.0.2357.124m + Firefox 和 IE

标签: javascript jquery html mmenu


【解决方案1】:

我认为这是一个特殊的错误。

看看这个jsfiddle

console.log(Sizzle(".a"));
console.log(Sizzle("#/about/"));

这是同样的错误,我认为这意味着选择器无效。 基于This article,我可以确认选择器无效。

所以这是你的问题:)

【讨论】:

  • 有道理,Sizzle("#/about/") 绝对不是一个有效的选择器,但 &lt;a href='#/something'&gt; 不会从这个选择器的 do 中选择。这意味着问题出在 mmenu 插件中,试图使用 href 属性制作选择器。我正在为这个问题寻求任何解决方法,而插件开发人员正在解决这个问题
猜你喜欢
  • 2015-09-20
  • 2016-05-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多