2010-10-12 9 views
43

J'ai chargé un fichier css sur le serveur, donc j'ai une URL avec moi. Comment puis-je le charger dans mon code perl en utilisant JQuery?Comment charger le CSS en utilisant jquery

donc je suis actuellement hardcoding le css dans ma page maçon qui manque de la page quelque chose comme ça

JQ.onReady('show', function(){ 
    JQ.addStyles({styles: ["\n\n.ap_classic { border-top:1px solid #ccc;border-left:1px solid #ccc;border-bottom:1px solid #2F2F1D; border-right:1px solid #2F2F1D;background-color:#EFEDD4;padding:3px; } .ap_classic .ap_titlebar { color:#86875D;font-size:12px;padding:0 0 3px 0;line-height:1em; } .ap_classic .ap_close { float:right; } .ap_classic .ap_content { clear:both;background-color:white;border:1px solid #ACA976;padding:8px;font-size:11px; } "]}); 
}); 

Je veux éviter ce hardcoding css?

+1

Pourquoi est d'avoir à être jQuery? Pourquoi ne pas simplement afficher un lien rel = 'dans la tête? –

+0

Vous ne savez pas ce que vous voulez dire par le charger dans votre code Perl, voulez-vous modifier le fichier? Ou tout simplement l'afficher sur la page? Si c'est le dernier, je voudrais essayer de le charger à partir de perl/html. – Marko

+3

duplicata possible de [Charger les feuilles de style externes sur demande?] (Http://stackoverflow.com/questions/2126238/load-external-stylesheets-on-request) –

Répondre

68

Je ne comprends pas pourquoi vous ne pouvez pas insérer l'élément <link/> dans la section <head/>, mais voici un extrait jQuery:

$('head').append($('<link rel="stylesheet" type="text/css" />').attr('href', 'your stylesheet url')); 
+0

J'ai une page de maçon. Donc, ce n'est pas une page HTML où je peux définir les en-têtes. – TopCoder

+0

Essayait même ... Mais IE version 8 ne charge pas le CSS chargé en utilisant cette méthode. – Rohan210

+6

document.createStyleSheet ('style.css'); IE FIX – Rohan210

32

Encore une fois, comme par Dynamically loading css stylesheet doesn't work on IE.

Vous devez définir le href attr dernier et seulement après le lien élém est ajouté à la tête:

$('<link>') 
    .appendTo('head') 
    .attr({ 
     type: 'text/css', 
     rel: 'stylesheet', 
     href: '/css/your_css_file.css' 
    }); 
+2

.appendTo ('head') fonctionne pour moi aussi – Sergey

+0

Doh, bien sûr que ce serait! Je devais être endormi quand j'ai codé cela. Grand amendement Sergey :) – ekerner