Using Javascript to change a cell background image

Discussion in 'Javascript' started by Mark, Jul 29, 2006.

  1. Mark

    Mark Guest

    IE creates an object of every ID'd HTML tag (so it appears), and each
    object sets a property for any parameter I set in the tag. For example,
    my HTML might be: <td id='cell1' background='myimg.jpg' width='30'> ...
    </td> which IE will use to create a Javascript object called 'cell1'
    with properties of background and width, like so:
    cell1.background would have a value of 'myimg.jpg' and cell1.width would
    have a value of 30.

    I can change the width of the cell in my Javascript function using:
    document.getElementById('cell1').width = 25;
    and I can change the background using
    document.getElementById('cell1').background = "yourimg.jpg";

    But this doesn't work in all browsers because they (FireFox, for
    example) doesn't create an object property (such as "width" and
    "background") for each tag with an ID.

    How do I get around this using non-IE browsers? I want my Javascript to
    be able to change the background image of a table cell. It works in IE,
    but not FireFox. I haven't tried others yet.

    Mark
     
    Mark, Jul 29, 2006
    #1
    1. Advertisements

  2. Mark

    Randy Webb Guest

    Mark said the following on 7/29/2006 10:19 AM:
    Welcome to the quirks and stupidity of IE.
    No browser does it other than IE, that I know of.
    Use CSS and then change it's style properties:

    <td id="cell1" style="background-image:myimg.jpg;width:30px">

    document.getElementById('cell1').style.backgroundImage = 'newImage.jpg';
    document.getElementById('cell1').style.width = '22px';
     
    Randy Webb, Jul 29, 2006
    #2
    1. Advertisements

  3. Mark

    Mark Guest

    Thanks! This does the trick!

    Mark
     
    Mark, Jul 30, 2006
    #3
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.