语法错误,无法识别的表达式:<>在Backbone / Marionette应用程序中的jQuery中

时间:2015-08-05 20:13:49

标签: jquery backbone.js marionette

我从jQuery代码的深处遇到了一个神秘的错误消息。

Uncaught Error: Syntax error, unrecognized expression: <>

我确定问题与jQuery本身无关。它位于我的应用程序的某个地方,它是用Backbone + Marionette构建的。

我不得不涉及数百行代码,但是这个测试用例以最简单的形式演示了这个问题。 (您可以转到Mariontte.js web site并在JavaScript控制台中输入此代码。

var V = Marionette.CollectionView.extend({tagName: ''});
v = new V();

我做错了什么?

1 个答案:

答案 0 :(得分:1)

问题是空标记名称。

tagName: ''

在Marionette或Backbone中有一些代码基本上可以做到这一点:

jQuery('<' + tagName + '>')

因此,空tagName会导致使用<>调用jQuery,这是一个无意义的表达式。 CollectionView(或任何View)上的tagName是可选的,但必须是实际的HTML代码。它不能是emtpy字符串。