69 votes

ajout de fichier css avec jquery

Je crée une fenêtre contextuelle et je veux ajouter un fichier CSS à cette fenêtre contextuelle ci-dessous est le code pour la fenêtre contextuelle. J'ai un javascript avec crée une fenêtre popup.

 <a href="popupwindowcontent.xhtml" title="Print" class="popupwindow">Print1</a>
 

Maintenant, je veux ajouter un fichier CSS à cette fenêtre contextuelle. J'ai essayé quelque chose comme

 $('.popupwindow').append('<link rel="stylesheet" href="css/style2.css" type="text/css" />');


 $('head').append('<link rel="stylesheet" href="css/style2.css" type="text/css" />');
 

mais ne fonctionne pas.

Merci

164voto

Etienne Dupuis Points 4573
 $('head').append('<link rel="stylesheet" href="style2.css" type="text/css" />');
 

Cela devrait marcher.

16voto

Dilip Rajkumar Points 3162

Voici comment j'ajoute CSS en utilisant jQuery ajax. J'espère que ça aide quelqu'un ..

 $.ajax({
            url:"site/test/style.css",
            success:function(data){
                 $("<style></style>").appendTo("head").html(data);
            }
        })
 

14voto

zuzuleinen Points 891
    var css_link = $("<link>", {
        rel: "stylesheet",
        type: "text/css",
        href: "yourcustomaddress/bundles/andreistatistics/css/like.css"
    });
    css_link.appendTo('head');

2voto

Mark Costello Points 1662

Essayez de le faire dans l'autre sens.

 $('<link rel="stylesheet" href="css/style2.css" type="text/css" />').appendTo('head');
 

1voto

Feisty Mango Points 7113

Votre problème, c'est que le sélecteur est pour un point d'ancrage de l'élément <a>. Vous êtes le traitement de l' <a> balise comme si elle représente la page, ce qui n'est pas le cas.

$('head') travailler aussi longtemps que ce sélecteur est en cours d'exécution par la page de la css.

Pourquoi ne pas simplement ajouter le fichier css de la page en question. Une raison particulière à cette tentative de façon dynamique à partir d'une autre page? Je ne suis pas encore familier avec la façon d'injecter css à distance des pages comme ça ... me semble qu'il serait un trou de sécurité majeur.

ADDITIF à votre raisonnement:

Ensuite, il vous suffit de passer un paramètre à la page, lisez-le à l'aide de javascript, et ensuite faire tout ce qui est nécessaire en fonction du paramètre.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X