Обернуть каждую строку в контейнере в тег
Добрый вечер!
Есть конструкция вида: <pre class="single_pre_tag"> Ехал Грека через реку. Видит Грека в реке рак. Сунул в реку руку Грека. Рак за руку Грека - цап. </pre> Мне необходимо обернуть каждую строку в <code>, чтобы получилось так: <pre class="single_pre_tag"> <code>Ехал Грека через реку.</code> <code>& # 9 ;</code> <code>Видит Грека в реке рак.</code> <code>Сунул в реку руку Грека.</code> <code>& # 9 ;</code> <code>Рак за руку Грека - цап.</code> </pre> Я нашёл вот такой код: $( '.single_pre_tag' ).each(function () { var lines = $( this ).html().split( '\n' ); $( this ).html( '<code>' + lines.join('</code><code>') + '</code>' ); }); Но он напрочь игнорирует пустые строки и выбрасывает их... Как дописать сюда поддержку пустых строк (<code>& # 9 ;</code>)? Заранее благодарю! |
snovapavel,
<!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> code { display: block; } </style> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <script> $(function() { $(".single_pre_tag").each(function() { var lines = this.innerHTML.split("\n"); lines = $.map(lines, function(val) { return "<code>" + (val || "& # 9 ;") + "</code>" }); $(this).html(lines) }) }); </script> </head> <body> <pre class="single_pre_tag"> Ехал Грека через реку. Видит Грека в реке рак. Сунул в реку руку Грека. Рак за руку Грека - цап. </pre> </body> </html> |
рони,
Огромное спасибо! |
Часовой пояс GMT +3, время: 19:25. |