2009-11-25 5 views
1

Je crée un élément <style> avec javascript comme ceci:Comment trouver un élément dynamique créé <style>

function createMyStyle(selector , rule) { 
    j$("head").append('<style type="text/css">' + selector + '{' + rule + '}' + '</style>'); 
} 

Je ne veux pas créer cet élément chaque fois, mais pour savoir si cette <style> élément a été inséré déjà, puis utiliser quelque chose comme ceci pour ajouter mes règles à elle:

if(stylesheet.addRule) { 
    stylesheet.addRule(selector, rule); 
} 
else if(stylesheet.insertRule) { 
    stylesheet.insertRule(selector + ' { ' + rule + ' }', stylesheet.cssRules.length); 
} 

Je crée ce <style> en une seule pièce et non avec DOM pur parce que IE ne peut pas faire innerHTML à document.createEle ment («style»).

J'ai essayé de donner le <style> un id et faire quelque chose comme ...

for(var i in document.styleSheets) { 
    if(!document.styleSheets[i].id) { 

mais cela ne peut être fait parce que theres pas id attribuer.

Répondre

0

Essayez de faire quelque chose comme ceci avec jQuery:

if($("style").length > 0){ 
    // this means you have a style element in your document 
} 
+0

J'ai des dizaines d'éléments