我从jQuery代码的深处遇到了一个神秘的错误消息。
Uncaught Error: Syntax error, unrecognized expression: <>
我确定问题与jQuery本身无关。它位于我的应用程序的某个地方,它是用Backbone + Marionette构建的。
我不得不涉及数百行代码,但是这个测试用例以最简单的形式演示了这个问题。 (您可以转到Mariontte.js web site并在JavaScript控制台中输入此代码。
var V = Marionette.CollectionView.extend({tagName: ''});
v = new V();
我做错了什么?
答案 0 :(得分:1)
问题是空标记名称。
tagName: ''
在Marionette或Backbone中有一些代码基本上可以做到这一点:
jQuery('<' + tagName + '>')
因此,空tagName
会导致使用<>
调用jQuery,这是一个无意义的表达式。 CollectionView(或任何View)上的tagName
是可选的,但必须是实际的HTML代码。它不能是emtpy字符串。