Welcome to Software Development on Codidact!
Will you help us build our independent community of developers helping developers? We're small and trying to grow. We welcome questions about all aspects of software development, from design to code to QA and more. Got questions? Got answers? Got code you'd like someone to review? Please join us.
Comments on Delete all occurrences of a character in a webpage with vanilla JavaScript
Parent
Delete all occurrences of a character in a webpage with vanilla JavaScript
Primarily for learning, I would like to try to delete a specific character (letter or number or special character), wherever it is in a webpage, with vanilla JavaScript.
The webpage won't change at all; it will stay almost the same but just without that character.
It doesn't matter where that character would appear:
- In the start of a line
- In the end of a line
- Inside a word
- Outside a word
- Between two field separators (whitespaces/tabulations, etc.)
Wherever it will appear, it will be deleted.
What would be a vanilla JavaScript "brute force" tool to do so and how would you prefer to do so if asked by a client?
If I am not mistaken "Tree walker" is a JavaScript concept which should be useful here.
Post
With the help of a little recursion, it's straightforward to go through all text nodes and replace their contents:
function replaceIn(e) {
if (e.nodeType == Node.TEXT_NODE) {
e.nodeValue = e.nodeValue.replaceAll("a", "");
} else {
for (const child of e.childNodes) {
replaceIn(child);
}
}
}
replaceIn(document.body);
2 comment threads