Communities

Writing
Writing
Codidact Meta
Codidact Meta
The Great Outdoors
The Great Outdoors
Photography & Video
Photography & Video
Scientific Speculation
Scientific Speculation
Cooking
Cooking
Electrical Engineering
Electrical Engineering
Judaism
Judaism
Languages & Linguistics
Languages & Linguistics
Software Development
Software Development
Mathematics
Mathematics
Christianity
Christianity
Code Golf
Code Golf
Music
Music
Physics
Physics
Linux Systems
Linux Systems
Power Users
Power Users
Tabletop RPGs
Tabletop RPGs
Community Proposals
Community Proposals
tag:snake search within a tag
answers:0 unanswered questions
user:xxxx search by author id
score:0.5 posts with 0.5+ score
"snake oil" exact phrase
votes:4 posts with 4+ votes
created:<1w created < 1 week ago
post_type:xxxx type of post
Search help
Notifications
Mark all as read See all your notifications »
Q&A

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

Post

Delete all occurrences of a character in a webpage with vanilla JavaScript

+5
−1

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.

History
Why does this post require attention from curators or moderators?
You might want to add some details to your flag.
Why should this post be closed?

2 comment threads

replace() on innerHTML (5 comments)
Some musings... (3 comments)
replace() on innerHTML
Zakk‭ wrote over 2 years ago

One solution would be to use replace() on document.body.innerHTML:

document.body.innerHTML = document.body.innerHTML.replace(/x/g, '*');

Skipping 1 deleted comment.

Zakk‭ wrote over 2 years ago · edited over 2 years ago

... wherever it is in a webpage, with vanilla JavaScript.

It doesn't matter where that character would appear...

... Wherever it will appear, it will be deleted.

The OP used wherever, It doesn't matter where and Wherever. He absolutely means everywhere. So,

document.body.innerHTML = document.body.innerHTML.replace(/x/g, '*');

does the job for him.

elgonzo‭ wrote over 2 years ago · edited over 2 years ago

Yes, one solution, and also a good way to potentially destroy HTML element and attribute names present in the inner html and mangle attribute values, if the character to be replaced is part of an element name or attribute name or value.

Sure it addresses what has been asked in the question. And that includes the fact that it potentially destroys HTML tags or attributes.

deleted user wrote over 2 years ago · edited over 2 years ago

Yes Zakk‭ your code worked for me (double checked) with:

document.querySelector('.new_pages').innerHTML = document.querySelector('.new_pages').innerHTML.replace(/\|/g, '');

Instead getting a | I got it deleted.

Thus, I think, your comment should be an answer which I'll gladly upvote and mark as worked.

Zakk‭ wrote over 2 years ago · edited over 2 years ago

You already wrote an answer. No need to (re)write mine. Glad my answer helped!