js innerHTML problem

conradbf's Avatar, Join Date: Nov 2009
Newbie Member
Hi,

I have a function that takes the innerhtml from a div called orderouterwrap, generates some new content called str, and then writes the new string to orderouterwrap. However, it adds on spurious closing divs (</divs>) at the end for no reason.

starting markup:

<div id="orderouterwrap">
<!-- -->
</div>

JS:
new_str=document.getElementById('orderouterwrap'). innerHTML;
new_str+=str;

alert(new_str);

OUTPUT START:
<!-- -->
<div class="orderwrp" id="order0">
<div class="name">stuff<div>
</div>
OUTPUT END

document.getElementById('outerorderwrap').innerHTM L=new_str;

alert(document.getElementById('outerorderwrap').in nerHTML);

OUTPUT START:
<!-- -->
<div class="orderwrp" id="order0">
<div class="name">stuff<div>
</div>

</div></div>
OUTPUT END

What on earth is going on?

thanks in advance,
Conrad
0
nimesh's Avatar, Join Date: Apr 2009
Invasive contributor
Because there's a mistake in the first output itself,

<div class="orderwrp" id="order0">
<div class="name">stuff<div> <-------- the last div in this line should be a closing tag
</div>

so to close all the tags, it's adding 2 more div close tags
SaswatPadhi like this
0
conradbf's Avatar, Join Date: Nov 2009
Newbie Member
oh dear, its been one of those days..

that did it, thanks!
0
nimesh's Avatar, Join Date: Apr 2009
Invasive contributor