我刚刚将jQuery从1.8.3更新到1.9,它突然崩溃了.
这是我的模板:
<script type="text/template" id="modal_template">
<div>hello</div>
</script>
Run Code Online (Sandbox Code Playgroud)
这就是我读它的方式:
modal_template_html = $("#modal_template").html();
Run Code Online (Sandbox Code Playgroud)
这是我如何将其转换为jQuery对象(我需要在其上使用jQuery方法):
template = $(modal_template_html);
Run Code Online (Sandbox Code Playgroud)
...和jQuery崩溃了!
错误:语法错误,无法识别的表达式:<div> hello </ div>
slice.call(docElem.childNodes,0)[0] .nodeType;
jquery-1.9.0.js(第3811行)
但是,如果我将模板声明为纯文本变量,它将再次开始工作:
var modal_template_html = '<div>hello</div>';
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮我解决这个问题吗?
UPDATE:jQuery开发团队听取并改变在1.10一切恢复正常:
您可能会看到的最大变化是我们放宽了$()中HTML处理的标准,允许前导空格和换行符,就像我们在1.9版之前所做的那样
我有这个JQuery Ajax表单.
$('#modal-body-sign-in').on('submit', '#sign-in', function(e) {
e.preventDefault();
var data = $(this).serialize();
var url = $(this).attr('action');
$.ajax({
//this is the php file that processes the data and send mail
url : url,
type : "POST",
data : data,
dataType: "html",
//Do not cache the page
cache : false,
//success
success : function(data) {
//console.log(data.content);
console.log($(data));
//$('#modal-body-sign-in').html(data);
}
});
})
Run Code Online (Sandbox Code Playgroud)
在响应,当我console.log(data); in the console it shows me the responded html,但当我这样做,console.log($(data));它给了我这个错误
未捕获错误:语法错误,无法识别的表达式:
<html>
<head>
<style>
ul {
margin: 0%; …Run Code Online (Sandbox Code Playgroud)