使用jQuery

时间:2018-11-22 07:18:05

标签: javascript jquery dom

使用普通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 :(得分:0)

动态创建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