Создать элементы в новом документе с помощью jQuery - PullRequest
0 голосов
/ 22 ноября 2018

Используя простой JavaScript (без jquery), я могу открыть новое окно (или вкладку) и записать минимальный HTML-документ в это окно, например:

var minimal = '<!DOCTYPE HTML>\n' +
 '<html>\n' +
 '<head>\n' +
 '<meta charset="utf-8">\n' +
 '<title>Title Here</title>\n' +
 '</head>\n' +
 '<body>\n' +
 '</body>\n' +
 '</html>\n';

var win = window.open();
var doc = win.document;
doc.open('text/html', true);
doc.write(minimal);
doc.close();

Затем я могу использовать простой JavaScript для динамическогосоздайте и добавьте дочерние элементы в новый документ следующим образом:

var body = doc.getElementsByTagName('body')[0];
var div = doc.createElement('div');
div.innerHTML = 'Hi Mom!';
body.appendChild(div);

Обратите внимание, что в приведенном выше коде я использую doc, а не document, что создает div в новом документе.

Мое понимание jquery состоит в том, что этот код

var div = $('<div/>');

создаст div в текущем документе, а не в новом документе, и div, созданный в текущем документе, не может быть добавлен в новый документ,Есть ли способ получить jquery для создания элементов в новом документе, как показано в моем простом JavaScript-коде выше?

1 Ответ

0 голосов
/ 22 ноября 2018

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

var div = $('<div></div>');  // will create a div and wait for you to append it

, поэтому вы можете сказать:

div.appendTo("body");  // this will append it body

или вы можете сказать:

div.appendTo(win.document);   // the div will be appended somewhere else
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...