28

JS で作成された DOM 要素で埋められた div があります。

JS 関数の繰り返しで div をクリアしたいのですが、使用するdocument.getElementById('elName').innerHTML = "";のは得策ではないと聞きました。

div の内容をクリアするためにこれを行う有効な代替手段は何ですか?

4

5 に答える 5

53

jQueryをお持ちの場合:

$('#elName').empty();

さもないと:

var node = document.getElementById('elName');
while (node.hasChildNodes()) {
    node.removeChild(node.firstChild);
}
于 2011-02-20T14:57:48.003 に答える
4

プロトタイプの方法はElement.update()次のとおりです。

$('my_container').update()
于 2011-03-11T23:36:41.460 に答える
2

jQuery を使用している場合は、.empty()メソッドhttp://api.jquery.com/empty/をご覧ください。

于 2011-02-20T14:58:06.193 に答える
0

その子をループして削除することができます。

var parDiv = document.getElementById('elName'),
    parChildren = parDiv.children, tmpChildren = [], i, e;

    for (i = 0, e = parChildren.length; i < e; i++) {
        tmpArr.push(parChildren[i]);
    }

    for (i = 0; i < e; i++) {
        parDiv.removeChild(tmpChildren[i]);
    }

または.empty()、jQuery を使用している場合に使用します。これは単なる代替ソリューションであり、whileループははるかにエレガントです。

于 2011-02-20T15:00:45.007 に答える