Remove all styling applied through Javascript

If we consider the following scenario:

var e = document.getElementById("someElement");
e.style.borderColor = "gold";
e.style.background = "yellow";
e.style.padding = "5px";
// more style changes made through javascript

It's possible that additional styles were applied either inline or from an external CSS file.

Is there a way to completely remove all styles applied by Javascript? Perhaps something like e.style.* = inherit or

e.removeJavaScriptAppliedStyles()
.

Answer №1

Here is the code snippet for you:

<div>hello</div>
<div>hello</div>
<div>hello</div>
<div>hello</div>
<div id="click">click me</div>

//

$("div").css("color", "red");
$("#click").click(function () {
    $("*").removeAttr("style");
});

Please note James Bruckner's caution that this script removes all inline styles that were originally in the HTML. JavaScript modifies CSS by manipulating the style attribute, making it difficult to differentiate between original and programmatically set styles. (EDIT: Please refer to the comments below.)

Link to JSFiddle Example

Answer №2

One potential approach is to save the original style attribute (

e._originalStyle = e.style.cssText
) in a hidden property, then recover it later when removing all styles applied through JavaScript (
e.style.cssText = e._originalStyle
)

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Here is a unique rewrite of the text: "Learn the process of toggling the tabindex for

Is there a way to dynamically change the tabindex of an element based on its visibility in the viewport? I am looking to either reset the current tabindex when entering a new section and assign new values to elements within that section, or disable and re- ...

The Angular model does not automatically refresh when the Space or Enter key is pressed

Having an issue with my editable div and the ng-trim attribute. Even though I have set ng-trim to false, pressing SPACE or ENTER does not increment the string length by one in the div below. Using Angular 1.3.x and wondering if anyone has any ideas on how ...

Navigating through Routing Express and sending data to a template

If I have the following code in my router.get() function, how can I output a template with the data without being able to use res.render()? router.get('/read', function(request, response) { res.send({"result": "Success sent from routes/index ...

What is the best way to tidy up a function within a useEffect hook?

When updating state within a useEffect hook while using async/await syntax, I encountered an error regarding the cleanup function. I'm unsure how to properly utilize the cleanup function in this scenario. Error: Warning - A React state update was att ...

Show Random Section

Hey there! I'm currently working on randomizing the display of these divs on my homepage. The specific CSS I have in place is making it a bit tricky, so I haven't been able to implement any of the usual methods for randomizing images. Any suggest ...

Expanding and collapsing a single item in a ListView with React Native

I am currently encountering an issue with my list of Messages, where clicking on any message expands or collapses all messages instead of just the individual message clicked. See the code snippet below for more details on how each Tab Component is populate ...

Explore an array library in JavaScript

How can I access elements in a list of arrays separated by commas? [ ["service_state", "service_description", "service_icons", "svc_plugin_output", "svc_state_age", "svc_check_age", "perfometer"], ["OK", "Check_MK", "", "OK- Agent version 1.2.4p4, ...

"Looping through each item in a list using Angular

I have a setup for an HTTP request that will return the list of products once all promises are fulfilled. My objective is to initially set the opacity of these products to 0, and then use a forEach loop to add a class that sets their opacity to 1. While ...

Difficulty with font rendering across different web browsers such as Firefox, Chrome, and Opera

Visit the following website: I have implemented font-face on my site: @font-face { font-family: 'SegoeUI'; src: url('{site_url}themes/site_themes/agile_records/fonts/segoeui.eot?') format('eot'), url(' ...

What methods do certain API services use to accept Authorization headers from any source?

Payment processing platforms like Stripe and Square provide the capability to include your API key in an Authorization header as a Bearer token. However, my understanding is that allowing credentials, such as the Authorization header, from all origins is ...

Using Bootstrap 4, create a responsive design that centers images within a div on mobile devices and positions them differently

I am currently working on a DIV that contains social media buttons. The code for this DIV is as follows: <div class="redes-sociales col-sm-pull-6 col-md-6 col-lg-push-4 float-right py-2"> <img class="img-rounded img-social" alt="f ...

Clear form values in react-hook-form upon form closure

Featuring the given component: import { yupResolver } from '@hookform/resolvers/yup'; import { useForm } from 'react-hook-form'; import * as yup from 'yup'; import { useToggle } from '../shared/hooks'; import { Su ...

Dynamic Bootstrap User Authentication Form

Currently, I am in the process of constructing a login form for my web application and have opted to use Bootstrap for its styling. To ensure that the screen is responsive, I've integrated the following "Meta Tag" into the structure: <meta name="v ...

In Bootstrap 3, you can toggle individual collapsible items without affecting others by only closing the specific

I am facing an issue with my Bootstrap collapsible elements. I came across an answer that includes the necessary javascript to close only the collapsible items in my table, while leaving other collapsible items on the page (in the menu) unaffected. These i ...

How to efficiently assign a random set of values to a group of players in Javascript/nodejs while ensuring each player does not receive their own inputted value

Within my array, I have stored the following information: players[{nickname: data.player, id: socket.id, data: playerdata}] The playerdata itself is an array playerdata[] In the first value of playerdata, each player has entered a string. (playerindex ...

Looking to transition from Node.js version v4.4.5 to v6.11.0 on your Windows system?

npm cache clean npm update -g I attempted upgrading using the provided commands, but unfortunately, the update did not go through as expected. Seeking advice for a successful update process. (Currently on Node.js 4.4.5 and aiming to upgrade to Node.js 6. ...

Unable to save Firebase snapshot data into an array using a promise

Although there are numerous resources on Javascript promises for loading Firebase objects, I have struggled to store the data in an array. The challenge: Despite setting up an array (productArray below) to receive values from a Firebase snapshot, the arra ...

What are some effective methods for optimizing GLSL/C code in Three.JS when using PerObject-Blur?

UPDATE 2 I have successfully integrated custom attributes using THREE.js. Each pass in the vertex shader is now aligned with the position attribute, resulting in an efficient solution with minimal code. An example will be added later UPDATE 1 This me ...

It's frustrating when Redux triggers unnecessary re-rendering of a component

While working on my website with React and Redux, I encountered an issue regarding the image display within a card component. Initially, I have this card featuring a specific product. https://i.sstatic.net/CEoq7.png The functionality allows me to click on ...

Having trouble with asynchronous JSON calls in JavaScript when setting async to false

I'm having trouble figuring out what I'm doing wrong in this scenario. The issue is that I can't seem to reassign the variable poster_path with the fetched poster-path from the JSON call. What's puzzling to me is that I even tried setti ...