From 72e033db797f7881a55097655b2260052ef2c32f Mon Sep 17 00:00:00 2001 From: Chocobo1 Date: Wed, 20 Nov 2024 22:33:41 +0800 Subject: [PATCH] WebUI: remove child elements directly --- src/webui/www/private/scripts/contextmenu.js | 3 +-- src/webui/www/private/scripts/dynamicTable.js | 10 +++------- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/src/webui/www/private/scripts/contextmenu.js b/src/webui/www/private/scripts/contextmenu.js index 876a3792a..6408e8486 100644 --- a/src/webui/www/private/scripts/contextmenu.js +++ b/src/webui/www/private/scripts/contextmenu.js @@ -535,8 +535,7 @@ window.qBittorrent.ContextMenu ??= (() => { updateTagsSubMenu(tagList) { const contextTagList = $("contextTagList"); - while (contextTagList.firstChild !== null) - contextTagList.removeChild(contextTagList.firstChild); + contextTagList.replaceChildren(); const createMenuItem = (text, imgURL, clickFn) => { const anchor = document.createElement("a"); diff --git a/src/webui/www/private/scripts/dynamicTable.js b/src/webui/www/private/scripts/dynamicTable.js index 47f4899c1..7447137fb 100644 --- a/src/webui/www/private/scripts/dynamicTable.js +++ b/src/webui/www/private/scripts/dynamicTable.js @@ -288,8 +288,7 @@ window.qBittorrent.DynamicTable ??= (() => { LocalPreferences.set("columns_order_" + this.dynamicTableDivId, val.join(",")); this.loadColumnsOrder(); this.updateTableHeaders(); - while (this.tableBody.firstChild) - this.tableBody.removeChild(this.tableBody.firstChild); + this.tableBody.replaceChildren(); this.updateTable(true); } if (this.currentHeaderAction === "drag") { @@ -465,11 +464,8 @@ window.qBittorrent.DynamicTable ??= (() => { this.showColumn(action, this.columns[action].visible === "0"); }.bind(this); - // recreate child nodes when reusing (enables the context menu to work correctly) - if (ul.hasChildNodes()) { - while (ul.firstChild) - ul.removeChild(ul.lastChild); - } + // recreate child elements when reusing (enables the context menu to work correctly) + ul.replaceChildren(); for (let i = 0; i < this.columns.length; ++i) { const text = this.columns[i].caption;