tags:

views:

171

answers:

6

Hello all, how can I insert some HTML code between <div id="mydiv">...</div> using javascript?

Ex: <div id="mydiv"><span class="prego">Something</span></div> its about 10 lines of html of most. thank you

+1  A: 
// Build it using this variable
var content = "<span class='prego'>....content....</span>"; 
// Insert using this:
document.getElementById('mydiv').innerHTML = content;
Doug Neiner
+2  A: 

If you're replacing the contents of the div and have the HTML as a string you can use the following:

document.getElementById('mydiv').innerHTML = '<span class="prego">Something</span>';
Bryan Kyle
A: 
 document.getElementById("mydiv").innerHTML = "<span class='prego'>Something</span>";

Should do it. If you are willing to use jQuery it could be easier.

Vincent Ramdhanie
+1  A: 

document.getElementById('mydiv').innerHTML = 'whatever';

prime_number
+1  A: 

That's really kind of an ambiguous request. There are many ways this can be accomplished.

document.getElementById('mydiv').innerHTML = '<span class="prego">Something</span>';

That is the simplest. OR;

var spn = document.createElement('span');
spn.innerHTML = 'Something';
spn.className = 'prego';
document.getElementById('mydiv').appendChild(spn);

Preferred to both of these methods would be to use a Javascript library that creates shortcut methods for the simple things like this, such as mootools. (http://mootools.net)

With mootools this task would look like:

new Element('span', {'html': 'Something','class':'prego'}).inject($('mydiv'));
Dustin Hansen
+1  A: 

A simple way to do this with vanilla JavaScript would be to use appendChild.

var mydiv = document.getElementById("mydiv");
var mycontent = document.createElement("p");
mycontent.appendChild(document.createTextNode("This is a paragraph"));
mydiv.appendChild(mycontent);

Or you can use innerHTML as others have mentioned.

Or if you would like to use jQuery, the above example could be written as:

$("#mydiv").append("<p>This is a paragraph</p>");
Zack Mulgrew