javascript - 一次清除js设定的样式
伊谢尔伦
伊谢尔伦 2017-04-10 12:46:07
0
3
599

如何使用js或者其他方法一次性清除由js所设定的样式。

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

reply all(3)
刘奇

按我的想法应该是这样的: 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);
}
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template