Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.02.2016, 22:24
Профессор
Отправить личное сообщение для Teamur Посмотреть профиль Найти все сообщения от Teamur
 
Регистрация: 08.06.2015
Сообщений: 206

Обернуть каждый символ в DIV
Дано:
<div id='box' style='display: flex'>Требуется обернуть каждый символ в DIV</div>

Сделал так:
var i;
var txt = box.textContent;

window.onload = function() {
  for (i of txt) {
    box.innerHTML += '<div>' + i + '</div>';
  }
}


Но, к сожалению, игнорируются пробелы. Как исправить?
Ответить с цитированием
  #2 (permalink)  
Старый 16.02.2016, 22:29
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Teamur,
попробуйте обычным циклом как по массиву
Ответить с цитированием
  #3 (permalink)  
Старый 16.02.2016, 22:36
Профессор
Отправить личное сообщение для Teamur Посмотреть профиль Найти все сообщения от Teamur
 
Регистрация: 08.06.2015
Сообщений: 206

рони,
вы хотите проверить, знаю ли я обычные массивы, а не возможности ES6?
Я не проверял, но не уверен, что поможет.
Вроде как, если в теге стоят одни пробелы, браущер их не отобразит, если только не использовать неразрывные пробелы или другие выкрутасы. Верно?

Последний раз редактировалось Teamur, 16.02.2016 в 22:39.
Ответить с цитированием
  #4 (permalink)  
Старый 16.02.2016, 22:51
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Teamur,
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
      #box div{
        padding: 3px;
        background-color: #FF00FF;
         border-radius: 50%;
         width: 20px;
         text-align: center;      }

  </style>
  </head>

<body>
<div id='box' style='display: flex'>Требуется обернуть каждый символ в DIV</div>
 <script>


window.onload = function() {
var txt = box.textContent, html='';
for (var i=0; i<txt.length; i++)  {html+='<div>' + txt[i] + '</div>'}

    box.innerHTML = html;
  }


 </script>
</body>

</html>

Последний раз редактировалось рони, 16.02.2016 в 23:33.
Ответить с цитированием
  #5 (permalink)  
Старый 16.02.2016, 23:03
Профессор
Отправить личное сообщение для Teamur Посмотреть профиль Найти все сообщения от Teamur
 
Регистрация: 08.06.2015
Сообщений: 206

Господи, рони,
столько красоты )))
Ответить с цитированием
  #6 (permalink)  
Старый 16.02.2016, 23:05
Профессор
Отправить личное сообщение для Teamur Посмотреть профиль Найти все сообщения от Teamur
 
Регистрация: 08.06.2015
Сообщений: 206

рони,
вы добавили пробел засчет Паддинга?
Ну, незнаю. Может быть скриптом найти пробелы, убрать, а на их место поставить блоки div, с классом .space например. И уже в стилях обозначить их ширину? Поможете. Пока такие идеи )

Последний раз редактировалось Teamur, 16.02.2016 в 23:10.
Ответить с цитированием
  #7 (permalink)  
Старый 16.02.2016, 23:49
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Teamur,
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
      #box div{
        padding: 3px;
        background-color: #FF00FF;
         border-radius: 50%;
         width: 20px;
         height: 20px;
         text-align: center;
         margin:auto 0 ;
      }
   #box div.space{
      background-color: #FFFF00;
       width: 60px;
       height: 60px;
    }
  </style>
  </head>

<body>
<div id='box' style='display: flex'>Требуется обернуть каждый символ в DIV</div>
 <script>


window.onload = function() {

var txt = box.textContent, html='';
for (var i=0; i<txt.length; i++)  {;html+='<div class="'+(txt[i]==' ' ? 'space': '')+'" >' + txt[i] + '</div>'}

    box.innerHTML = html;
  }


 </script>
</body>

</html>
Ответить с цитированием
  #8 (permalink)  
Старый 17.02.2016, 18:54
Профессор
Отправить личное сообщение для Teamur Посмотреть профиль Найти все сообщения от Teamur
 
Регистрация: 08.06.2015
Сообщений: 206

Благодарствую!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обернуть каждые 5 div adax jQuery 12 15.02.2017 09:03
Обернуть каждый абзац в свой тег snovapavel Элементы интерфейса 2 08.01.2016 22:15
Как обернуть в div li? Aleksanderj Общие вопросы Javascript 5 08.05.2015 11:56
Предполагается наличие ';' в IE7- FINoM (X)HTML/CSS 5 25.08.2012 16:05
Обернуть блок в div с помощью expression'а в css SilentImp Internet Explorer 3 31.12.2010 01:53