Лучшее, что я нашел на данный момент (по крайней мере, в IE8 для Windows), - это получить innerText из целевого элемента, заменить \r
на <br/>
и вставить его обратно в innerHTML
var el = document.getElementById('target');
el.innerHTML = el.innerText.replace(/\r/,"<br/>");
Тогда, если вы хотите получить строку построчно в будущем, вы можете .split()
на <BR>
. имеет для <BR>
, а не <br/>
благодаря автоматическому разбору HTML в Internet Explorer.
Таким образом, чтобы напрямую ответить на вопрос, для подсчета строк вам нужно получить innerText
и искать \r
с, а не \n
. Пожалуйста, дайте мне знать, если это решит или не решит вашу проблему, поэтому я знаю, помогает ли это людям или вводит их в заблуждение.