2011-07-07 4 views
0

DOM LI要素から完全に削除しようとしましたが、その内容にはチェックボックス入力が含まれていますが、まだ成功していません。どのように私は完全にAJAXの帰りにドムから削除できますか?

私は次の関数は、AJAXコールバック後に呼び出されているが、それは内容ではない要素を削除して、自己とチャイルズ(readyStateの== 4):

function removepostview(str){ 

    document.getElementById('post'+str).innerHTML = ""; 
} 

サンプルLI

<li id="post58">Some Text Here<input type="checkbox" id ="postchk58" value="58" onclick="deletepost(this.value);" /></li> 

このシナリオで意図的にULが指定されていないことに注意してください。 LIは通常、適切なマークアップを持つ他のすべてのシナリオではUL/OLになります。 jQueryの使い方

$('#post' + str).remove(); 
+0

は、あなたの迅速な回答をありがとうございました。このコミュニティは揺れる! – Codex73

答えて

1

それはJSライブラリに生じることなく、これを行うことが実際に可能である:)

var e= document.getElementById('post'+str); 
e.parentNode.removeChild(e); 
+0

完璧に動作します。どうもありがとうございました。 – Codex73

1

あり、まさにこのようなタスクのためのjQueryでremove()方法です:

$('#post'+str).remove(); 
+0

idで要素を選択するには、8角形を使用する必要があります。 – jncraton

+0

それはすぐに答えるために私に教えてくれるでしょう! –

1

自分のタグにはjQueryのを含めるには、なぜこれを試してみません

function removepostview(str){ 
    $('#post'+str).remove(); 
} 
1

試用:

var d = document.getElementById('myUL'); 
var oldLI = document.getElementById('post'+str); 
d.removeChild(oldLI); 
+0

なぜdownvote? – Mrchief

+0

使用例ではULは存在しませんでしたので、動作しませんでした。 @Contraは正しい項目を選んだ 'parentNode'を提案しました。この行が "oldLI.parentNode.removeChild(oldLI);"に変更されると、あなたのコードも完全に動作します。ご協力いただきありがとうございます。 – Codex73

+0

LIエレメントは通常UL(またはOL)の内側にあります。 – Mrchief

0
function removepostview(str){ 
    var postLi = document.getElementById('post'+str); 
    document.removeChild(postLi); 
} 
+0

ありがとうございますが、これはエラーを返します:ノードが見つかりませんでした "コード:" 8 – Codex73