Question: *The code goes like this*

```
<div id='blogbook'></div>
...
<script>
...
var z="<table>
<td>Blog title and date<br><hr></td>
<tr>
<td>A very long string consisting of many paragraphs, say, a blog</td></table>";
function disp(){
document.getElementById('blogbook').innerHTML=z;
}
disp();
</script>

```

*The display comes out like this..*

Blog title and date

---

A very long string consisting of  

...(many many lines)...  

many paragraphs, sa  

The whole of the blog does not display, instead stops long before the actual end of the blog.   
Questions:

* Why does this happen?
* How does one solve this?

This problem occurs in Firefox(I'm using v7 but IE displays it just fine, that is, the complete blog)

Answer: 
Your HTML markup is incorrect.

```
var z="<table>
<td>Blog title and date<br><hr></td>
<tr>
<td>A very long string consisting of many paragraphs, say, a blog</td></table>";

```

That code is this:

```
<table>
    <td>Blog title and date<br><hr></td>
  <tr>
    <td>A very long string consisting of many paragraphs, say, a blog</td>
</table>

```

It should be:

```
<table>
  <tr>
    <td>Blog title and date<br><hr></td>
  </tr>
  <tr>
    <td>A very long string consisting of many paragraphs, say, a blog</td>
  </tr>
</table>

```
whats going on with this line `<div id='blogbook'></td>`? You need to close the div. its not semantically correct and may cause the browser to display incorrectly e.g

```
<div id='blogbook'></div></td>

```

Plus your not closing the table above or your not opening a new td if your nesting tables