views:

297

answers:

3

How to dynamically change content of a div using JavaScript?

+5  A: 

document.getElementById("divId").innerHTML = "new content!"

I would recommend using a framework like jQuery though, because chances are you will be doing more things like this later.

tou
+1 and a sidenote, if you don't want to affect the actual HTML inside and just want to change the text inside use .innerText instead.
Joel Etherton
+8  A: 

This should do it:

<div id="foo">Div you want to change</div>

And in JavaScript:

document.getElementById('foo').innerHTML = 'Your content';
Tatu Ulmanen
+1  A: 

Its worth noting that you can also use innerHTML to include other markup. Also if the DIV des not have an ID you can try using getElementsByTagName.

Example, to get the first DIV in the document:

document.getElementsByTagName("div")[0].innerHTML = "<p>This is a <span>new</span> paragraph</p>";

This allows you to loop through multiple DIVs in the document and check other conditions.

And like they said above, if the DIV has an ID that you know will always be there, then thats better to use:

document.getElementById("theID").innerHTML = "<p>This is a <span>new</span> paragraph</p>";

Check out Prototype (links below) (or jQuery) in handling this as they make life easier, especially when you get into CSS selectors:

michael