Insert new line in text only div

2019-06-22 04:43发布

I'm working with a CMS that allows only text in a certain div (HTML , like <br>, is parsed to &lt;br&gt;). It is fine with Unicode / HTML codes (e.g. &amp; would generate & and &#x00040; would generate @) but it will seemingly not allow a new line / carriage return. How can I put a <br> in the div, without using HTML?

I've tried:

Here is a fiddle with the same issue (and HTML structure as output by CMS) > https://jsfiddle.net/w3p4wgcc/ ...Is it just not possible?

1条回答
倾城 Initia
2楼-- · 2019-06-22 05:12

With inline css i've managed to do the following:

<div style="white-space: pre-wrap;">
This is some new text,&#10;this text should be on a new line.
</div>

https://jsfiddle.net/6mqgrym9/

If you need all of your divs to be like this one could say in your stylesheet the following:

div {
    white-space: pre-wrap;
}

if these divs are contained in a root div (which has a id) one could do the following:

#idhere > div {
    white-space: pre-wrap;
}

If you're allowed to use some javascript you can try this:

<div>
    <script>
        document.currentScript.parentNode.innerHTML = 'This is some new text<br>this text should be on a new line.';
    </script>
</div>
查看更多
登录 后发表回答