File size: 896 Bytes
2409829 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
window.addEventListener("DOMContentLoaded", () => {
document.querySelectorAll("section p").forEach((paragraph) => {
// Recursively traverse the DOM tree and modify the text nodes
const recursivelyAddWbr = (node) => {
if (node.nodeType === Node.TEXT_NODE) {
const newNodes = node.textContent.split("/");
for (let i = 0; i < newNodes.length - 1; i++) {
newNodes[i] += "/";
}
const tempSpan = document.createElement("span");
tempSpan.innerHTML = newNodes.join("<wbr>");
const replacementNodes = tempSpan.childNodes;
mutationQueue.push([node, replacementNodes]);
} else {
node.childNodes.forEach(recursivelyAddWbr);
}
};
// Perform the recursive traversal and replace the text nodes
const mutationQueue = [];
recursivelyAddWbr(paragraph);
mutationQueue.forEach(([node, newNodes]) => {
node.replaceWith(...newNodes);
});
});
});
|