0

liクリックした要素の親である要素を削除しようとしていますa

これは私のコードです:

function vanish(id_arg){
        $.ajax({
            url: "/vanish/",
            type: "POST",
            data: {id_to_delete: id_arg},
        }).success(function(data){
           document.getElementsByTagName('li').getElementById(id_arg).remove();
        });
    }

これは私のhtmlです:

{% for i in p %}
<li id="{{i.id}}"> <a>{{i.name}}</a><a onclick="vanish({{i.id}})" class="item">delete</a></li>    
{% endfor %}

pは、名前とIDを含むクエリ応答です。

vanish()データベースからアイテムを削除します。ajax応答として、ページからもアイテムを削除したいと思います。削除する必要があり、非表示にする必要はありません。

私の問題は、それがページから削除されていないことですli。javascriptとremove()それをキャッチしようとしていますが、適切なコードが見つかりません。

4

2 に答える 2

1

最初に子を見つけて、ドキュメントの本文から削除するだけです。

          var child = document.getElementById(id_arg);
          document.body.removeChild(child);
于 2012-10-13T06:14:15.900 に答える
1

以下はすべてのリンクを選択し、その上の親要素を削除します。ページに他のリンクがある場合は、リンクにクラスを指定して、削除するリンクを指定できるようにすることをお勧めします。また、liでremove()を呼び出すと、要素内のすべても削除されることに注意してください。

$('#' + id_arg).click(function(){
    $(this).parent().remove();
});

編集:質問をすばやく読んでください。これをajax呼び出しの成功関数に含めることができます。

$('#' + id_arg).closest('li').remove();
于 2012-10-13T06:15:51.373 に答える