2010-05-23 5 views
1

J'ai une fonction pour modifier les propriétés de style d'une classeProblème propriétés de style de classe d'édition à l'aide js - problème est avec IE

Malheureusement IE ne semble pas l'aimer, mais ça ne me donne pas une erreur.

Est-ce que quelqu'un sait quel est le problème?

Merci à l'avance

function myRemoveElement(id) { 
    var Node = document.getElementById(id); 
    Node.parentNode.removeChild(Node); 
} 

function boolyChangeFoo(width1, width2, width3, width4) { 
    if(typeof style == 'undefined') { 
     var append = true; 
     myStyle = document.createElement('style'); 
    } else { 
     while (myStyle.hasChildNodes()) { 
      myStyle.removeChild(myStyle.firstChild); 
     } 
    } 
    if (document.getElementById('my_custom_styles')) 
    { 
     myRemoveElement('my_custom_styles'); 
    } 
    var head = document.getElementById('myltd_popup_1'); 
    var rules = document.createTextNode('.my_price_comp_inner { width: ' + width1 + '}' + 
     '.merch_coupons_summary { width: ' + width2 + '}' + 
     '.merch_coupons_data { width: ' + width3 + '}' + 
     '.my_coupon_prod_item { width: ' + width4 + '}' 
    ); 

    myStyle.setAttribute('type','text/css'); 
    myStyle.setAttribute('id', 'my_custom_styles'); 
    if(myStyle.styleSheet) { 
     myStyle.styleSheet.cssText = rules.nodeValue; 
    } else { 
     myStyle.appendChild(rules); 
    } 
    //alert(myStyle); 
    if(append === true) head.appendChild(myStyle); 
} 
+0

quelle version de IE? ça marche en FF? – Marthin

+0

J'ai essayé en 7 et 8 - yeh cela fonctionne en ff et chrome – Nick

+0

Quelle est la variable "style" censé faire? Où est-ce que ça se passe? – Pointy

Répondre

0

@Pointy - Je ne pas vraiment besoin de la partie supérieure

function myRemoveElement(id) { 
    var Node = document.getElementById(id); 
    Node.parentNode.removeChild(Node); 
} 

function boolyChangeFoo(width1, width2, width3, width4) { 
     var append = true; 
     myStyle = document.createElement('style'); 
    if (document.getElementById('my_custom_styles')) 
    { 
     myRemoveElement('my_custom_styles'); 
    } 
    var head = document.getElementById('myltd_popup_1'); 
    var rules = document.createTextNode('.my_price_comp_inner { width: ' + width1 + '}' + 
     '.merch_coupons_summary { width: ' + width2 + '}' + 
     '.merch_coupons_data { width: ' + width3 + '}' + 
     '.my_coupon_prod_item { width: ' + width4 + '}' 
    ); 

    myStyle.setAttribute('type','text/css'); 
    myStyle.setAttribute('id', 'my_custom_styles'); 
    if(myStyle.styleSheet) { 
     myStyle.styleSheet.cssText = rules.nodeValue; 
    } else { 
     myStyle.appendChild(rules); 
    } 
    //alert(myStyle); 
    if(append === true) head.appendChild(myStyle); 
} 
+0

aussi var boolyStyle; est réglé en dehors de la fonction – Nick