469,271 Members | 904 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 469,271 developers. It's quick & easy.

changing css colors

How do I change the CSS colors via JavaScript DOM? Let me explain...

I am working on a Windows application (in C#) that displays some HTML.
In one place the HTML is a status window. What happens is the static
HTML page is embedded into the application. The static page displayed
and then the C# code gets a hold of the HTML DOM from the web browser
and updates what pieces need to be updated.

What I need to do now is change the colors of everything on the static
page. At present there is an embedded CSS style in the HTML and all
the colors are defined there. Using the DOM, via C# code, how do I
change the colors of everything?

1: Can I simply update the CSS and it will auto magically happen? If
so, how does one update the CSS via the DOM?
2: Do I need to go to each individual item and change the color there?
3: Is there a better way to do this all the way around?

Sam

Oct 27 '06 #1
4 1616

Sam Carleton wrote:
How do I change the CSS colors via JavaScript DOM? Let me explain...

I am working on a Windows application (in C#) that displays some HTML.
In one place the HTML is a status window. What happens is the static
HTML page is embedded into the application. The static page displayed
and then the C# code gets a hold of the HTML DOM from the web browser
and updates what pieces need to be updated.

What I need to do now is change the colors of everything on the static
page. At present there is an embedded CSS style in the HTML and all
the colors are defined there. Using the DOM, via C# code, how do I
change the colors of everything?

1: Can I simply update the CSS and it will auto magically happen? If
so, how does one update the CSS via the DOM?
2: Do I need to go to each individual item and change the color there?
3: Is there a better way to do this all the way around?

Sam
Hi Sam,

you can't do this via C# but only via JavaScript because C# works on
your server. JavaScript is made to dynamically change/manipulate your
DOM tree.

For exampleto change the font color of an element with id "myElement":

document.getElementById('myElement').style.color = 'red';

To change the color of all DIV element which have the className
"whatever", you should use prototype (a JavaScript library that extends
JS language):

$$('div.whatever').each(function(element) {
element.style.color = 'red';
});

^ This works in all current browsers, there are other JS methods to
change a node of your CSS definition (would be easier) but it's not
compatible to all browsers.

But there's a way to change the complete StyleSheet (CSS) file to make
your page look change.

I hope this wil help you.

Andi

Oct 27 '06 #2
As your css is embedded into the page you can have it modified. It's
something like /html/head/style. But it will be an unparsed text value
which you will have to parse by yourself.

It seems to me the better solution is to use classes. Like

/* in your css */
body.default * {
color: red;
}

body.changed * {
color: green;
}
.... than ...
<body class="default">..

In this case you will only have to change the class attribute of an
appropriate element (body in this case).

Sam Carleton wrote:
How do I change the CSS colors via JavaScript DOM? Let me explain...

I am working on a Windows application (in C#) that displays some HTML.
In one place the HTML is a status window. What happens is the static
HTML page is embedded into the application. The static page displayed
and then the C# code gets a hold of the HTML DOM from the web browser
and updates what pieces need to be updated.

What I need to do now is change the colors of everything on the static
page. At present there is an embedded CSS style in the HTML and all
the colors are defined there. Using the DOM, via C# code, how do I
change the colors of everything?

1: Can I simply update the CSS and it will auto magically happen? If
so, how does one update the CSS via the DOM?
2: Do I need to go to each individual item and change the color there?
3: Is there a better way to do this all the way around?

Sam
Oct 27 '06 #3
ASM
Sam Carleton a écrit :
How do I change the CSS colors via JavaScript DOM? Let me explain...

I am working on a Windows application (in C#) that displays some HTML.
In one place the HTML is a status window. What happens is the static
HTML page is embedded into the application. The static page displayed
and then the C# code gets a hold of the HTML DOM from the web browser
and updates what pieces need to be updated.

What I need to do now is change the colors of everything on the static
page. At present there is an embedded CSS style in the HTML and all
the colors are defined there. Using the DOM, via C# code, how do I
change the colors of everything?

1: Can I simply update the CSS and it will auto magically happen? If
so, how does one update the CSS via the DOM?
2: Do I need to go to each individual item and change the color there?
3: Is there a better way to do this all the way around?
I think best way is to have 2 titled alternate styles sheets embedded in
your files.
Then you'll just have to switch between both (or more).
<link rel="alternate stylesheet" type="text/css"
href="../../css/yellow.css" media="all" title="Yellow">
<link rel="alternate stylesheet" type="text/css"
href="../../css/blue.css" media="all" title="Blue">
Here functions for several alternate styles sheets :

function setActiveStyleSheet(title) {
var i, a, main='';
for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
if(a.getAttribute("rel").indexOf("style") != -1) {
if(a.getAttribute("title")) {
a.disabled = true;
if(a.getAttribute("title") == title)
a.disabled = false;
}
}
}
}

function getActiveStyleSheet() {
var i, a, main = 'Defaut';
for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
if(a.getAttribute("rel").indexOf("style") != -1
&& a.getAttribute("rel").indexOf("alt") != -1
&& a.getAttribute("title")
&& !a.disabled) {
main = a.getAttribute("title");
return main;
}
}
return null;
}
Oct 27 '06 #4
I recommend a book ISBN 0-321-43032-8 entitled "Javascript and Ajax for the
web, sixth edition."

The title is very misleading as the book has scant information about using
Ajax. It is however excellent with regard to Javascript, e.g. DHTML. The
entire book is basically several dozen well written and clearly explained
snippets of Javascript for general page tasks. It should have been called
something like "DHTML Snippets Simplified with the Last Chapter Ajax
Overview"

I found this book at the library and intend to buy it myself...

<%= Clinton Gallagher
NET csgallagher AT metromilwaukee.com
URL http://clintongallagher.metromilwaukee.com/
"Sam Carleton" <sc*******@gmail.comwrote in message
news:11**********************@e3g2000cwe.googlegro ups.com...
How do I change the CSS colors via JavaScript DOM? Let me explain...

I am working on a Windows application (in C#) that displays some HTML.
In one place the HTML is a status window. What happens is the static
HTML page is embedded into the application. The static page displayed
and then the C# code gets a hold of the HTML DOM from the web browser
and updates what pieces need to be updated.

What I need to do now is change the colors of everything on the static
page. At present there is an embedded CSS style in the HTML and all
the colors are defined there. Using the DOM, via C# code, how do I
change the colors of everything?

1: Can I simply update the CSS and it will auto magically happen? If
so, how does one update the CSS via the DOM?
2: Do I need to go to each individual item and change the color there?
3: Is there a better way to do this all the way around?

Sam

Oct 27 '06 #5

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

reply views Thread by Matt Garman | last post: by
2 posts views Thread by Matt | last post: by
1 post views Thread by batesy67 | last post: by
4 posts views Thread by Sam Carleton | last post: by
1 post views Thread by CARIGAR | last post: by
reply views Thread by suresh191 | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.