我正在使用 Django 制作博客应用程序。在我的post_save()
函数中post_edit.js
,我有这个帖子编辑操作:
$.post(item.find("#post-form").attr("action") + "&ajax" , data, function(result) {
if (result != "failure") {
item.before($("li", result));
item.remove();
$("ul.posts .edit").click(post_edit);
}
else {
alert("Failed to validate post before saving")
}
});
因此,在将博客数据发布到我的 post_list.html 模板后,该if
块的第一行从结果中提取li
元素并将其插入到作为原始li
元素的“项目”之前。
问题是,完成此操作后,我得到一个 JQuery 语法错误:
Error: Syntax error, unrecognized expression:
<ul class="posts">
<li>
<a href="/post/1" class="title">NEW POST</a>
<a href="/save/?id=1" class="edit">[edit]</a>
<br /> Tags:
<ul class="tags">
<li>
<a href="/tag/tag1">tag1</a>
</li>
<li>
<a href="/tag/tag2">tag2</a>
</li>
</ul> <br />
</li>
</ul>
我无法弄清楚为什么会出现语法错误,因为该
ul class="posts".../ul
块对我来说看起来完全没问题。调试后,我很确定这(item.before($("li", result));)
是导致问题的第 3 行。
有人可以帮我找到问题吗?
谢谢
+ 另外,还有一个困惑。
“结果”是ul
块:
ul class="posts">
<li>
<a class="title" href="/post/1">NEWPOST</a>
<a class="edit" href="/save/?id=1">[edit]</a>
<br> Tags:
<ul class="tags">
...
<br>
</li>
</ul>
我认为该行item.before($("li", result));
应该从结果中提取“li”元素,但看起来它正在返回整个“ul”块......