IE 8 remove line break between nodes with JavaScript

Posted by Tokimon on Stack Overflow See other posts from Stack Overflow or by Tokimon
Published on 2011-01-02T00:47:12Z Indexed on 2011/01/02 0:54 UTC
Read the original article Hit count: 208

Ok i have a list of HTML nodes which should be inline with no spacing between them. The problem is, that the nodes are written from a CMS and therefore will come with all sorts of linebreaks and spaces. Therefore I'm removing the spaces with JS using the method descibed in this question. The problem is, however, that in IE (not 9) the white spaces isn't part of the childrens list of the parent node, rendering the method useless in IE. However IE 7 (or at least IE 9 emulating IE 7) ignores the linebreaks, so that one is in the clear. That leaves IE 8 as the troublemaker. I discovered that the line break is actually a part of the outerHTML and that a simple reset of the outerHTML did the trick - like so:

node.outerHTML = node.outerHTML

However this will reset the node intirely and therefore removing all events and other settings on the node, which isn't really any good.

So my question is now: Is there a way to remove that linebreak from the nodes outerHTML whitout resetting the node? I've tried with zoom: 1, but to no avail. Hope anyone has any experience with this.

© Stack Overflow or respective owner

Related posts about JavaScript

Related posts about internet-explorer-8