changing css colors

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Sam Carleton

    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

  • webEater

    #2
    Re: changing css colors


    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.getEle mentById('myEle ment').style.co lor = '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.whateve r').each(functi on(element) {
    element.style.c olor = '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

    Comment

    • vynogradov@gmail.com

      #3
      Re: changing css colors

      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

      Comment

      • ASM

        #4
        Re: changing css colors

        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 setActiveStyleS heet(title) {
        var i, a, main='';
        for(i=0; (a = document.getEle mentsByTagName( "link")[i]); i++) {
        if(a.getAttribu te("rel").index Of("style") != -1) {
        if(a.getAttribu te("title")) {
        a.disabled = true;
        if(a.getAttribu te("title") == title)
        a.disabled = false;
        }
        }
        }
        }

        function getActiveStyleS heet() {
        var i, a, main = 'Defaut';
        for(i=0; (a = document.getEle mentsByTagName( "link")[i]); i++) {
        if(a.getAttribu te("rel").index Of("style") != -1
        && a.getAttribute( "rel").indexOf( "alt") != -1
        && a.getAttribute( "title")
        && !a.disabled) {
        main = a.getAttribute( "title");
        return main;
        }
        }
        return null;
        }

        Comment

        • clintonG

          #5
          Re: changing css colors

          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" <scarleton@gmai l.comwrote in message
          news:1161955508 .251715.254010@ e3g2000cwe.goog legroups.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
          >

          Comment

          Working...