Je pense que je ne vais pas à ce sujet tout à fait juste, étant très nouveau à JQuery. J'ai une page avec 3 recettes sur elle cachées. Lorsqu'un lien vers la recette A est cliqué dessus s'ouvre dans un mode modal. Je veux pouvoir imprimer juste le contenu de la recette. Donc, j'ouvre une nouvelle fenêtre (non-Modale) et essaye d'écrire la recette (selon laquelle la recette est choisie)
Ceci est le code que j'utilise p> Mais cela renvoie une erreur. Je pense que c'est proche mais pas tout à fait raison. L'erreur est:
manquant ; avant la déclaration
[Casser sur cette erreur] var html = "Imprimer ... =" MyprinTrecpe ">"; \ n p> p>
3 Réponses :
Le problème est dans votre chaîne. Changez-le à ceci:
$('a.new-window').click(function(){
var recipe = window.open('','RecipeWindow','width=600,height=600');
$('#recipe1').clone().appendTo('#myprintrecipe');
var html = "<html><head><title>Print Your Recipe</title></head><body><div id=\"myprintrecipe\"></div></body></html>";
recipe.document.open();
recipe.document.write(html);
recipe.document.close();
return false;
});
Modification: à: p> et prenez des notes sur les guillemets doubles (") p> p >
Je pense que ce que vous recherchez est ce qui suit:
jQuery(function($) {
$('a.new-window').click(function(){
var recipe = window.open('','RecipeWindow','width=600,height=600');
var html = '<html><head><title>Print Your Recipe</title></head><body><div id="myprintrecipe">' + $('<div />').append($('#recipe1').clone()).html() + '</div></body></html>';
recipe.document.open();
recipe.document.write(html);
recipe.document.close();
return false;
});
});
Merci Tres! C'était là, la truc de cordes - une erreur de recrue, je ne peux pas croire que j'ai raté cela. Le deuxième problème était ce que je ne pouvais pas comprendre, quand faire l'annexe ... merci !!!
D'accord, je regarde cela plus attentivement et ne le comprend pas vraiment. (Bien que reconnaissant cela fonctionne) ... est-il possible d'expliquer cette partie: $ ('<
'). Ajoutez ($ (# recette1 '). Clone ()). HTML () Je ne comprends pas pourquoi / Comment leLa DIV n'est pas un sélecteur, c'est HTML étant transmis à JQuery. Lorsque cela se produit, JQuery crée un objet sur lequel vous pouvez utiliser dans votre chaînage. Ce que j'ai fait avec ce morceau de code est saisir le HTML "extérieur" de l'objet de recette, car si vous venez de devenir $ ('# recette1'). HTML (), vous auriez tout à l'intérieur de '# recette1', mais pas '# recette1' elle-même, y compris son HTML. Si vous n'avez pas besoin d'inclure «# recette1» dans la fenêtre, mais seulement son HTML, puis simplement aller $ ('# recette1 »). HTML (). Les docs JQuery expliquent des arguments valides ici: docs.jquery.com/core . Voir: "$ (...) la fonction jQuery:".