Est-il possible de sélectionner une DIV dans la fenêtre parente à l'aide de jQuery?
Par exemple:
La page principale contient ceci,
<div id="testdiv"></div>
La page contextuelle contient un formulaire avec quelques options et un bouton "Appliquer". Lorsque l'utilisateur clique sur Appliquer, cela affecte l'attribut de style de la page principale.
Quelque chose dans la logique de,
parent.$("#testdiv").attr("style", content from form);
Utilisez le paramètre de contexte
$("#testdiv",parent.document)
Mais si vous utilisez vraiment un popup, vous devez accéder à opener au lieu de parent
$("#testdiv",opener.document)
J'ai cherché une solution à ce problème et suis tombé sur la présente page. J'ai implémenté la solution ci-dessus:
$("#testdiv",opener.document) //doesn't work
Mais ça ne marche pas. Peut-être que cela fonctionnait dans les versions précédentes de jQuery, mais cela ne semble pas fonctionner maintenant.
J'ai trouvé cette solution de travail sur une autre page stackoverflow: comment accéder à l'objet window parent à l'aide de jquery?
A partir de laquelle j'ai eu cette solution de travail:
window.opener.$("#testdiv") //This works.
J'ai rencontré le même problème mais, comme indiqué ci-dessus, la solution acceptée ne fonctionnait pas pour moi.
Si vous êtes dans un élément frame ou iframe, une autre solution consiste à utiliser
window.parent.$('#testdiv');
Voici une explication rapide des différences entre window.opener, window.parent et window.top:
pourquoi pas les deux pour être sûr?
if(opener.document){
$("#testdiv",opener.document).doStuff();
}else{
$("#testdiv",window.opener).doStuff();
}