我刚升级到1.9.1 经过一些技术上的决定之后,除了:
之外的所有工作var $newthumbs = $(' <div id=\"car-7\" class=\"thumbnail_car thumbnail span2\" data-sorting-top=\"2\" data-sorting-date=\"2013-01-12 16:47:31 UTC\"></div>');
如果我将此行放在jquery 1.8.3的控制台中,它会被接受,我可以使用$ newthumbs检索它
1.9.1中的与Error: Syntax error, unrecognized expression:
我已经阅读了changelog,但我没有看到任何与之相关的内容。我可能不知道很多jquery,但这种语法看起来很标准。
改变了什么?
更新
我找到了这个here
带有前导空格的HTML字符串:jQuery 1.9限制字符串 出于安全原因由$()处理。虽然我们建议您使用 $ .parseHTML()处理任意HTML模板,1.1.0 版本的Migrate插件可恢复旧的行为。
答案 0 :(得分:2)
如果删除空格,它将起作用:
var $newthumbs = $('<div id=\"car-7\" class=\"thumbnail_car thumbnail span2\" data-sorting-top=\"2\" data-sorting-date=\"2013-01-12 16:47:31 UTC\"></div>');
答案 1 :(得分:0)
您的问题是字符串开头的空格。我不知道为什么这是一个问题,但显然是。
顺便说一下:你可以删除无意义的反斜杠:
var $newthumbs = $('<div id="car-7" class="thumbnail_car thumbnail span2" data-sorting-top="2" data-sorting-date="2013-01-12 16:47:31 UTC"></div>');
或者您可以对周围的字符串使用双引号:
var $newthumbs = $("<div id=\"car-7\" class=\"thumbnail_car thumbnail span2\" data-sorting-top=\"2\" data-sorting-date=\"2013-01-12 16:47:31 UTC\"></div>");