When adding in text with small whitespace appended to it for alignment purposes the whitespace is trimmed off (the whitespace is added in c# so by the time it gets to front end Javascript it cannot be edited - it would be nice to just use some CSS to do this but it is not an option).
Here is what I tried so far:
var zlp = document.getElementById("testDiv")
zlp.innerHTML = "hello hello"
var zzz = document.createTextNode("hello hello")
zlp.appendChild(zzz)
<div id="testDiv"></div>
Both of which produce hello hello
.
var text = text. replace(/\s/g, ' '); \s will match any white space character, such as space, tab and new line. If you only want to replace space, use / /g instead.
How does CSS process whitespace? Most whitespace characters are ignored, not all of them are. In the earlier example one of the spaces between "Hello" and "World!" still exists when the page is rendered in a browser.
The HTML <pre> tag defines preformatted text preserving both whitespace and line breaks in the HTML document. This tag is also commonly referred to as the <pre> element.
Use the wordSpacing property in JavaScript to set the spacing between words.
White space characters are usually collapsed in HTML (by default).
You can replace it with the
entity:
var text = text.replace(/\s/g, ' ');
\s
will match any white space character, such as space, tab and new line. If you only want to replace space, use / /g
instead.
Other options which avoid string manipulation:
pre
element.white-space
property to pre
as @Esailija pointed out. You can always add CSS properties dynamically to elements, they don't have to be specified in a style sheet.If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With