0

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ブロックの 1 行目で結果から要素を抽出liし、元の要素である「item」の前に挿入し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>

この行は結果から「li」要素を抽出するはずだと思ってitem.before($("li", result)); いましたが、「ul」ブロック全体を返しているようです...

4

1 に答える 1