Funciones getStyleSheet() y addRuleByStyleSheet()
Seguramente en algun momento de un desarrollo javascript, se va a necesitar modificar una class del css. Puede resultar muy útil y comodo modificar una class en lugar de reasignar o cambiar todas las propiedades de cada uno de los elementos que deseamos modificar.
Para este caso, aca dejo un par de funciones.
/* fileCSS'style.css' por ejemplo; Retorna el objeto de la hoja.*/ function getStyleSheet(fileCSS){ var sheets=document.styleSheets; for (j=0; j<sheets.length; j++){ if(sheets[j].href!= null){ tagsUrl = sheets[j].href.split('/'); if(tagsUrl[tagsUrl.length-1] == fileCSS){ return sheets[j]; } } } } /* stylesheet = return de getStyleSheet(); rule = regla css a la que se le va a agregar la propiedad; prop = nombre de la propiedad a cambiar para usar con "style." ej: rule.style.display o .color o borderRight value = valor que tomara la propiedad */ function addRuleByStyleSheet(rule, prop, value){ mysheet = getStyleSheet('styles.css'); myrules = (mysheet.cssRules)? mysheet.cssRules: mysheet.rules for (i=0; i<myrules.length; i++){ if(myrules[i].selectorText!= null){ if(myrules[i].selectorText.toLowerCase()== rule){ eval('myrules[i].style.' + prop + ' = "' + value +'";'); break; } } } }
Categorised as: Code
