Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.03.2015, 19:22
Аспирант
Отправить личное сообщение для snovapavel Посмотреть профиль Найти все сообщения от snovapavel
 
Регистрация: 08.03.2015
Сообщений: 78

Обернуть каждую строку в контейнере в тег
Добрый вечер!

Есть конструкция вида:

<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>)?

Заранее благодарю!
Ответить с цитированием
  #2 (permalink)  
Старый 16.03.2015, 19:59
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

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>
Ответить с цитированием
  #3 (permalink)  
Старый 16.03.2015, 20:17
Аспирант
Отправить личное сообщение для snovapavel Посмотреть профиль Найти все сообщения от snovapavel
 
Регистрация: 08.03.2015
Сообщений: 78

рони,
Огромное спасибо!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получить в JQUERY каждую строку как отдельный объект? Alex1233 Общие вопросы Javascript 3 22.08.2014 06:54
Обернуть элемент в тег ivan2006bip Events/DOM/Window 7 27.10.2012 00:57
Как заставить пустой тег <p> быть высотой в одну строку? xintrea (X)HTML/CSS 6 01.10.2012 09:38