Javascript.RU

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

innerHTML и динамические div'ы в цикле
Всем доброго времени суток!
Вопрос знатокам javascript. Есть вот такой код.
<!DOCTYPE html>
<html>
    <head>
        <title>JS</title>
    </head>
    <style>
        body{
            margin: 0;
        }
        #contaner{
            margin: 0;
            padding: 0;
        }
        .wrapper{
            margin: 0;
            padding: 0;
            height: 32px;
        }
        .first{
            width: 30px;
            height: 30px;
            background: green;
            display: inline-block;
            margin: 1px;
            padding: 0;
        }
        .main{
            width: 30px;
            height: 30px;
            background: blue;
            display: inline-block;
            margin: 1px;
            padding: 0;
        }
        span{
            width: 30px;
        }
    </style>
    <body>
        <div id="contaner"></div>
    </body>
    <script type="text/javascript">
     
        var stop = 5;
        var cntr = document.getElementById("contaner");
     
        for(var i=0; i<stop; i++){
            var wrap = document.createElement("div");
            wrap.className = "wrapper";
            cntr.appendChild(wrap);
         
            for(var j=0; j<stop; j++){
         
                var first = document.createElement("div");
                    first.className = "first";
                    wrap.appendChild(first);
             
                if(j == 3){
                    first.innerHTML = j;
                }
            }
        }
     
    </script>
</html>

Вывод дает результат при котором дивы, находящееся в блоке if, вываливаются из общего ряда.
Если убрать блок if, тогда все нормально.
Вопрос! Почему так происходит?
Заранее благодарю за помощь.
Ответить с цитированием
  #2 (permalink)  
Старый 17.03.2017, 17:50
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,080

VlDm,
либо
.wrapper{
                     display: flex;
        }

или
.first{
            vertical-align: middle;}
Ответить с цитированием
  #3 (permalink)  
Старый 17.03.2017, 18:00
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Почему - ХЗ, а исправить можно так
<!DOCTYPE html>
<html>
    <head>
        <title>JS</title>
    </head>
    <style>
        body{
            margin: 0;
        }
        #contaner{
            margin: 0;
            padding: 0;
        }
        .wrapper{
            margin: 0;
            padding: 0;
            height: 32px;
        }
        .first{
            width: 30px;
            height: 30px;
            background: green;
            display: inline-block;
            margin: 1px;
            padding: 0;
        }
        .main{
            width: 30px;
            height: 30px;
            background: blue;
            display: inline-block;
            margin: 1px;
            padding: 0;
        }
        span{
            width: 30px;
        }
    </style>
    <body>
        <div id="contaner"></div>
    </body>
    <script type="text/javascript">
     
        var stop = 5;
        var cntr = document.getElementById("contaner");
     
        for(var i=0; i<stop; i++){
            var wrap = document.createElement("div");
            wrap.className = "wrapper";
            cntr.appendChild(wrap);
         
            for(var j=0; j<stop; j++){
         
                var first = document.createElement("div");
                    first.className = "first";
                    wrap.appendChild(first);
                    first.innerText = '\n';

                if(j == 3){
                    first.innerText = j;
                }
            }
        }
     
    </script>
</html>
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Таймер до требуемой даты в цикле Drugpunker Events/DOM/Window 22 21.03.2014 08:52
innerHTML....? Hapson Элементы интерфейса 4 24.07.2013 01:33
динамические DIVы (высота) Giku Общие вопросы Javascript 4 26.11.2012 12:41
Изменение innerHTML в цикле %) Tror Общие вопросы Javascript 24 03.05.2012 06:36
ошибка с innerHTML Gekt0r Общие вопросы Javascript 15 21.08.2008 11:57