Question: My website has always run smoothly with IE8, IE7, FF, Chrome and Safari. Now I'm testing it on IE9 and I'm experiencing a strange problem: in some pages, some tabular data renders incorrectly. 

The HTML source is correct and all, and the row giving the problem changes every time I refresh the page (to tell the truth, the problem itself appears only in some refresh, not all).

![](https://i.stack.imgur.com/oSjuW.png)

Using the F12 Tool of IE, the table structure appears correct, there should be no empty TD after the TD containing M08000007448, but still it renders like this.

![](https://i.stack.imgur.com/Q1lix.png)

Moreover, if I use the F12 tool, with "select element by click" tool in the toolbar, and I try to click on the empty space between M08000007448 and 19 , it selects the TR, not a "hidden td".

I'm having this table rendering problem also in some other table in the application, anyone experiencing something like this? It happens only in IE9 :(

I don't know if it's important, but the page is made with ASPNET (webforms) and use Jquery and some other JS plugin.

I tried to save the page (with images) and open it in local with IE9, but the problem never occurs. (Of course I checked all the table structure and it's ok. Header and all rows have the eact same number of TD's, with the right number of colspan when necessary).

Answer: 
I had the same exact issue populating a table using jquery templates. I kept having 'ghost' `<td>`'s on larger datasets (300+) only in IE9. These `<td>`'s would push the outer columns outside the boundries of my table.

I fixed this by doing something really silly; removing all the spaces betwen the `<td>` start and end tags and left justifying the HTML markup pertaining to my table. Basically, you want all of your `<td>` `</td>` on the same line, no spaces.

Example:

```
<table>
<tr class="grid_customer_normal">
<td>${primary}</td>
<td>${secondary}</td>
<td>${phone}</td>
<td>${address}</td>
</tr>
</table>

```
I had similar problem with ie-9 when rendering dynamic table.

```
var table = $('<table><tr><td style="width :100"></td></tr></table>');

```

when rendered translates to...

```
<table><tbody><tr><td style="width :100px"></td></tr></tbody></table>

```

this works perfectly fine in ie=10 chrome safari...

```
 //   but for ie-8 it renders to... with a style attr in my case

 <table><tbody><tr><td ></td></tr></tbody></table>

```

you need to write `100px` instead of `100`.