Javascript.RU

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

DOM js создать таблицу на новой странице
добрый день!
требуется при нажатии на кнопку отрыть новую страницу в указанное место (перед кнопкой divBtCheck) вставить таблицу. Т.к. целью является изучение JS, просьба при ответе JQuery не использовать.
Вроде бы всё несложно, но почему-то у меня в результате таблица просто дописывается в конец новой страницы, а не вставляется перед кнопкой. Понятно только одно - где-то я "косячу". Возможно даже, что и везде.

Вот основная страница:
<DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>Тестовый сайт</title>
    <script src="./scripts/newtable.js?1.0.1" defer></script>
  </head>           

<body>
  <header>
  <nav>
  </nav>
  </header>

  <section class="main">
      <button class="btNewWin">новое окно</button>
  </section>

  <footer>
  </footer>

</body>

</html>


А вот шаблон, который открывается js-ом:
<html>
  <head>
    <meta charset="UTF-8">
    <title>Open New Window</title>
    <link rel="stylesheet" type="text/css" href="newwin.css?1.0.4">  
  </head>           

<body>
	
  <div class="divText">
    <p class="pText">Текст pText</p>
  </div>

  <div class="divBtCheck">
    <button class="btCheck">Кнопка</button>
  </div>

</body>
</html>


Ну и сам скрипт:
window.onload = function() {
  var newWin = document.querySelector('.btNewWin');
  newWin.onclick = function(event) {
    var d = window.open('./html/newwin.html', 'focus');    
    d.onload = function() {
      var newBody = d.document.querySelector('divBtCheck');      
      var newTable = d.document.createElement('table');
          newTable.classList.add('newTable');
      var newTbody = d.document.createElement('tbody');
      var newDiv = d.document.createElement('div');          
          newDiv.classList.add('tblResult');

      var row = d.document.createElement('tr');    
      for( var i=0; i<6; i++ ) {
        var tdi = d.document.createElement('td');
        tdi.innerHTML = 'res: <br>' + i;
        row.appendChild(tdi);
      };
      newTbody.appendChild(row);    

      var row = d.document.createElement('tr');    
      for( var i=0; i<6; i++ ) {
        var tdi = d.document.createElement('td');
        tdi.innerHTML = 'res: <br>' + i;
        row.appendChild(tdi);
      };
      newTbody.appendChild(row);    
      
      newTbody.appendChild(row);          

      newTable.appendChild(newTbody);        
      newDiv.appendChild(newTable); 
      
      d.document.body.insertBefore(newDiv, newBody);
    }; /* d.window.onload */
  }; /* newWin.onclick */

Последний раз редактировалось oleg_t, 12.06.2018 в 22:59.
Ответить с цитированием
  #2 (permalink)  
Старый 12.06.2018, 23:38
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

Сообщение от oleg_t
Ну и сам скрипт:
где строка 37?
Сообщение от oleg_t
где-то я "косячу".
медитировать в строке 6
Ответить с цитированием
  #3 (permalink)  
Старый 13.06.2018, 11:15
Аватар для oleg_t
Новичок на форуме
Отправить личное сообщение для oleg_t Посмотреть профиль Найти все сообщения от oleg_t
 
Регистрация: 12.06.2018
Сообщений: 6

1.
Цитата:
где строка 37?
ну да, ну да... Pardon:
37 };

2.
Цитата:
медитировать в строке 6
Намёк понял. А что делать - нет.
Ответить с цитированием
  #4 (permalink)  
Старый 13.06.2018, 11:18
Аватар для oleg_t
Новичок на форуме
Отправить личное сообщение для oleg_t Посмотреть профиль Найти все сообщения от oleg_t
 
Регистрация: 12.06.2018
Сообщений: 6

Ой, т.е., поменять ('divBtCheck') на ('.divBtCheck')?
Ответить с цитированием
  #5 (permalink)  
Старый 13.06.2018, 11:26
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

Сообщение от oleg_t
Ой, т.е., поменять
да
Ответить с цитированием
  #6 (permalink)  
Старый 13.06.2018, 11:30
Аватар для oleg_t
Новичок на форуме
Отправить личное сообщение для oleg_t Посмотреть профиль Найти все сообщения от oleg_t
 
Регистрация: 12.06.2018
Сообщений: 6



... а то обидно сидеть и тупо пялиться в экран, не понимая, что за хрень в результате...

ещё раз -

Последний раз редактировалось oleg_t, 13.06.2018 в 11:32.
Ответить с цитированием
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как отобразить таблицу из скрипта PHP в JS используя AJAX vladiksan1998 AJAX и COMET 1 24.05.2018 02:04
Создать таблицу средствами DOM Neotwalker Events/DOM/Window 4 06.04.2018 13:14
Как удалить таблицу созданную в JS? konstantinopol Общие вопросы Javascript 9 10.09.2011 10:55
JS меню работает на обычной html странице, а на юкозовском движке нет. adware Я не знаю javascript 10 16.05.2009 16:48
Почему не работает JS с подгруженными в DOM элементами? V-z-z-HobboT jQuery 6 30.03.2009 14:02