Javascript.RU

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

Нужна помощь новичку
Всем доброго времени суток!
Столкнулся с такой проблемой: есть скрипт, который добавляет определенную кнопку в сайт в зависимости от устройства

<script>
                if(isMobile.any()){
                    var frm = document.createElement('form');
                    frm.setAttribute('action', 'tel: +78005558474');
                    frm.setAttribute('id', 'frm')
                    document.getElementById('knopka').appendChild(frm);
                    document.getElementById('knopka2').appendChild(frm);
                    var btn = document.createElement('button');
                    btn.className = "btn btn-primary btn-lg btn-block";
                    btn.innerHTML = "Позвонить";
                    btn.setAttribute('tupe', 'sumbit');
                    document.getElementById('frm').appendChild(btn);
                }else if(isMobile.iPad() || isMobile.iPod()){
                    var btn = document.createElement('button');
                    btn.className = "btn btn-primary btn-lg btn-block";
                    btn.innerHTML = "Позвонить";
                    btn.setAttribute('data-toggle', 'modal');
                    btn.setAttribute('data-target', '#IOS');
                    document.getElementById('knopka').appendChild(btn);
                }else{
                    var btn = document.createElement('button');
                    btn.className = "btn btn-primary btn-lg btn-block";
                    btn.innerHTML = "Позвонить";
                    btn.setAttribute('data-toggle', 'modal');
                    btn.setAttribute('data-target', '#others');
                    document.getElementById('knopka').appendChild(btn);
                }
            </script>

кнопка добавляется в div с определенным id. Таких дивов несколько на странице. В первый див кнопка добавляется как надо, но вот в последующие дивы добавятся не хочет. Собственно вопрос: почему и как это исправить?
Ответить с цитированием
  #2 (permalink)  
Старый 09.06.2016, 12:42
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,103

shellddor,
id уникально!!! и нужен цикл по всем дивам
Ответить с цитированием
  #3 (permalink)  
Старый 09.06.2016, 12:59
Новичок на форуме
Отправить личное сообщение для shellddor Посмотреть профиль Найти все сообщения от shellddor
 
Регистрация: 09.06.2016
Сообщений: 4

Сообщение от рони Посмотреть сообщение
shellddor,
id уникально!!! и нужен цикл по всем дивам
C ID сглупил
По поводу цикла: получается надо будет перебирать все дивы и при нахождении дива с определенным классом помещать в него кнопку. Так?
Напиши, пожалуйста, примерную конструкцию цикла.
Ответить с цитированием
  #4 (permalink)  
Старый 09.06.2016, 13:24
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,103

Сообщение от shellddor
примерную конструкцию цикла.
[].forEach.call( document.querySelectorAll('.knopka'), function(el,i) {
        if(isMobile.any()){
                    var frm = document.createElement('form');
                    frm.setAttribute('action', 'tel: +78005558474');
                    //frm.setAttribute('id', 'frm')
                    el.appendChild(frm);
                    document.querySelectorAll('.knopka2')[i].appendChild(frm);
                    var btn = document.createElement('button');
                    btn.className = "btn btn-primary btn-lg btn-block";
                    btn.innerHTML = "Позвонить";
                    btn.setAttribute('tupe', 'sumbit');
                    frm.appendChild(btn);
                }else if(isMobile.iPad() || isMobile.iPod()){
                    var btn = document.createElement('button');
                    btn.className = "btn btn-primary btn-lg btn-block";
                    btn.innerHTML = "Позвонить";
                    btn.setAttribute('data-toggle', 'modal');
                    btn.setAttribute('data-target', '#IOS');
                    el.appendChild(btn);
                }else{
                    var btn = document.createElement('button');
                    btn.className = "btn btn-primary btn-lg btn-block";
                    btn.innerHTML = "Позвонить";
                    btn.setAttribute('data-toggle', 'modal');
                    btn.setAttribute('data-target', '#others');
                    el.appendChild(btn);
                }

 });
Ответить с цитированием
  #5 (permalink)  
Старый 09.06.2016, 14:25
Новичок на форуме
Отправить личное сообщение для shellddor Посмотреть профиль Найти все сообщения от shellddor
 
Регистрация: 09.06.2016
Сообщений: 4

Все работает отлично. Спасибо большое.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна помощь по javascript darklend Общие вопросы Javascript 0 12.01.2014 23:33
matrix - нужна помощь Денис Никитин Javascript под браузер 13 28.05.2013 08:42
Нужна помощь: Slider wheel Alex555 Мобильный JavaScript 0 15.05.2013 18:06
Нужна помощь по слайдеру seoguru Работа 3 28.01.2013 22:02
нужна помощь dominosoko Серверные языки и технологии 4 14.03.2010 02:17