[Javascript] HTMLのタグ以外の文字列部分のみを置換する処理(マルチ階層対応)

function replaceSpacesInTextNodes(element, searchValue, replaceValue) { // 指定された要素の全ての子要素を走査する element.childNodes.forEach(node => { if (node.nodeType === Node.TEXT_NODE) { // テキストノードの場合、指定された置換を行う node.textContent = node.textContent.replace(new RegExp(searchValue, 'g'), replaceValue); } else { // 子要素がある場合、再帰的に処理する replaceSpacesInTextNodes(node, searchValue, replaceValue); } }); } // 使用例 document.addEventListener("DOMContentLoaded", () => { // HTML全体を対象にする場合はdocument.bodyを渡す replaceSpacesInTextNodes(document.body, ' ', '置換後の文字列'); });