错误:SyntaxError:使用jQuery创建标记时的DOMexception12

我有以下javascript:

var orderItemQuantity = $('', { type: 'hidden', name: 'order_detail[][quantity]', value: itemQuantity }); 

上面的javascript引发以下错误消息:

 Error: SyntaxError: DOM Exception 12 

这个工作没有错误:

 var newListItem = $('
  • ', { html: $('#item_name_'+itemId).text() + '(' + $('#item_quantity_' + itemId).val() +')' + 'Delete this' + '', id: itemId });
  • 我检查了以下问题,但答案没有明确说明正确的原因为什么。

    这是我的DTD:

      

    问题 :为什么$('')$('')抛出所述exception,而$('

  • ')不是问题?

    确保在第一个示例中加载了jQuery。

    即使您没有加载jQuery,Google Chrome现在也将函数$()定义为类似于querySelectorAll()的函数。

    此函数仅接受CSS选择器作为参数,而不是像jQuery的$()那样的任意HTML。

    来自文档:

    SYNTAX_ERR代码12指定了无效或非法字符串; 例如,使用无效的CSS值设置CSSStyleRule的selectorText属性。

    该函数期待一个CSS选择器,你给它HTML,所以它给出了语法错误。

    看到这个小提琴,它的效果很好:

    http://jsfiddle.net/S6d6w/