JavaScriptを使用してdivのコンテンツをクリアするにはどうすればよいですか?[閉まっている]


152

ユーザーが自分のページのボタンをクリックすると、divのコンテンツがクリアされます。これを達成するにはどうすればよいですか?


回答:


270

Javascriptのみ(要求に応じて)

この関数をページのどこかに追加します(できれば<head>

function clearBox(elementID)
{
    document.getElementById(elementID).innerHTML = "";
}

次に、クリックイベント時にボタンを追加します。

<button onclick="clearBox('cart_item')" />

JQuery(参照用)

あなたがjQueryを好むなら、あなたはそうすることができます:

$("#cart_item").html("");

50
代替jQuery:$("#cart_item").empty();
Rob Allen

.detach()も使用できますか?
RyanP13 2010

@Tom Gullenこれは、DIVのIDを関数に渡さずに、関数自体のelementIDを単一引用符で囲んで、私にとってはうまくいきました。これをありがとう!
DPSSpatial 2014

3
@Tom Gullen:これはそのdiv内のノードに関連付けられたイベントハンドラーを削除しないことに注意してください。
bhavya_w 2014

@Micの答えは約250倍速くなります。jsperf.com/innerhtml-vs-removechild
tleb

108

あなたはそれをDOMの方法でも行うことができます:

var div = document.getElementById('cart_item');
while(div.firstChild){
    div.removeChild(div.firstChild);
}

1
一流!jQueryと同じ:$( "#cart_item")。empty(); コンテンツだけでなくDOMにも作用します。すごい!
ペドロフェレイラ

これは優先されinnerHTML = ''ますか、そうであればなぜですか?
スキマスイッチ

1
これはよりきれいに感じinnerHTML = ''ます。私は個人的にラインの余分なカップルを書くでしょう
DMO

1
@Sukimaはこの方法が推奨される回答よりも高速であるため、短いコードではなくより良いパフォーマンスが必要な場合は、これを選択します。
iiic

1
ワンライナーとしてwhile(div.firstChild && div.removeChild(div.firstChild));
ラッセルエルフェンバイン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.