Скопируйте HTML из оригинального документа во всплывающее окно (используя JQuery) - PullRequest
6 голосов
/ 22 апреля 2011

Это мой первый пост с переполнением стека, ... :) Мне очень нравится этот сайт!

Мой вопрос: как скопировать элемент с открывающейся страницы во всплывающее окно с помощью JQuery?

Вот что я пробовал до сих пор:

CopyToThisPageFromTheParent('#accordianResults');
function CopyToThisPageFromTheParent(querySelector) {
    var clone = $(querySelector, window.parent.document).clone();
    $('#testHtml').append(clone);
    alert($('#testHtml').html());
}

Я также пробовал:

    var clone = $('#accordianResults', window.parent.document).clone();
    alert($('#testHtml').html());

Спасибо!

David

Ответы [ 3 ]

2 голосов
/ 11 мая 2011

У меня было две проблемы с моим JavaScript.

  1. Я использовал window.parent.document вместо window.opener.document
  2. По какой-то причине синтаксис .append () не позволил бы мне добавить клонированный объект

Вместо этого мне пришлось использовать элемент .html (), висящий над селектором JQuery, чтобы передать HTML из клона в .append ().

Вот конечный результат:

CopyToThisPageFromTheParent('#accordion', '#testDiv');

function CopyToThisPageFromTheParent(openingWindowSelector, childWindowSelector) {
     var clone = $(openingWindowSelector, window.opener.document).clone(true);
     var theOuterHtml = clone.wrap('<div></div>').parent().html();
     $(childWindowSelector).append(theOuterHtml);
}

Предполагается, что у меня есть этот HTML:

<div id="testDiv"></div> 

на странице моего всплывающего окна и этот HTML:

<div id="accordion">something</div> 

на моей главной странице и использовал "window.open();", чтобы открыть всплывающее окно.

Спасибо, Дэвид

1 голос
/ 22 апреля 2011

Вы можете просто сделать:

$("#testHtml").html($(querySelector).html())
0 голосов
/ 22 апреля 2011

Я не уверен, о чем идет речь:

$(querySelector, window.parent.document)

$ выберет из всей DOM по умолчанию. Это функционально идентично:

$(querySelector)

Ваш код, на самом деле, выглядит так, как будто он должен работать, при условии, что селекторы верны для вещей на вашей странице.

...