1. ホーム
  2. jquery

[解決済み] 親ノードからすべての子ノードを削除しますか?

2023-05-22 02:43:06

質問

私はリストを持っています、私はちょうどそれからすべての子ノードを削除したいです。jqueryを使用して最も効率的な方法は何ですか?これは私が持っているものです。

<ul id='foo'>
  <li>a</li>
  <li>b</li>
</ul>

var thelist = document.getElementById("foo");   
while (thelist.hasChildNodes()){
    thelist.removeChild(thelist.lastChild);
}

を1つずつ削除するよりも、近道はないのでしょうか?

----------- 編集 ----------------

各リスト要素には、何らかのデータが添付され、このようなクリックハンドラがあります。

$('#foo').delegate('li', 'click', function() {
    alert('hi!');
});

// adds element to the list at runtime
function addListElement() {
    var element = $('<li>hi</hi>');
    element.data('grade', new Grade());
}

いずれはリストアイテムごとにボタンを追加するかもしれません。メモリリークがないことを確認するために、empty()がよさそうですね?

どのように解決するのですか?

あなたは .empty() のように この :

$("#foo").empty();

ドキュメントより :

マッチした要素のセットのすべての子ノードをDOMから削除します。