如何使用js或者其他方法一次性清除由js所设定的样式。
小伙看你根骨奇佳,潜力无限,来学PHP伐。
按我的想法应该是这样的: demo here from:chrome and firefox open
<p id="obj">obj obj</p> <script type="text/javascript"> document.getElementById('obj').style.width = '500px'; document.getElementById('obj').style.height = '500px'; document.getElementById('obj').style.cssText = ''; </script>
如果你的意思是清除所有在html中的style属性中写的样式的话,那可以用jikey的方法,style.cssText = '';
如果你只希望清除js动态写入的样式,而不清除html中原本写入的样式的话,你需要在所有js载入前检查每个元素的style.length的值并记录,然后在清除时,按分号截取,保留原来长度的样式即可,比如
<p id="content" style="width: 100px; height: 100px;"></p> <script type="text/javascript"> var content = document.getElementById('content'); content.setAttribute('style-len', content.style.length); </script>
清除:
var tempCSS = content.style.cssText.split(';'); tempCSS.length = content.getAttribute('style-len') - 0; content.style.cssText = tempCSS.join(';') + ';';
不可能全部吧,不过按照tag来干应该可以。 就是说动态加载你所要的css文件。
function loadCss(file){ var cssTag = document.getElementById('loadCss'); var head = document.getElementsByTagName('head').item(0); if(cssTag) head.removeChild(cssTag); css = document.createElement('link'); css.href = "../css/mi_"+file+".css"; css.rel = 'stylesheet'; css.type = 'text/css'; css.id = 'loadCss'; head.appendChild(css); }
按我的想法应该是这样的: demo here from:chrome and firefox open
如果你的意思是清除所有在html中的style属性中写的样式的话,那可以用jikey的方法,style.cssText = '';
如果你只希望清除js动态写入的样式,而不清除html中原本写入的样式的话,你需要在所有js载入前检查每个元素的style.length的值并记录,然后在清除时,按分号截取,保留原来长度的样式即可,比如
清除:
不可能全部吧,不过按照tag来干应该可以。
就是说动态加载你所要的css文件。