Обернуть каждый символ в 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>'; } } Но, к сожалению, игнорируются пробелы. Как исправить? |
Teamur,
попробуйте обычным циклом как по массиву |
рони,
вы хотите проверить, знаю ли я обычные массивы, а не возможности ES6? :yes: Я не проверял, но не уверен, что поможет. Вроде как, если в теге стоят одни пробелы, браущер их не отобразит, если только не использовать неразрывные пробелы или другие выкрутасы. Верно? |
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> |
Господи, рони,
столько красоты ))) |
рони,
вы добавили пробел засчет Паддинга? Ну, незнаю. Может быть скриптом найти пробелы, убрать, а на их место поставить блоки div, с классом .space например. И уже в стилях обозначить их ширину? Поможете. Пока такие идеи ) |
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> |
Благодарствую!
|
Часовой пояс GMT +3, время: 09:31. |