去掉CSS中的表达式Expression
?在IE中,CSS是可以嵌入js表达式的,可以在CSS类中定义,但是将含有表达CSS类从DOM对象中移除,样式表达式是不会失效的。
经过研究找到了答案,需要使用js调用style对象的removeExpression()方法才可去除。
下面是方法的说明:
?
.wrap {border:none;max-width:730px;height:auto;width:expression(this.width>730?"730px":true);/*ie6补丁*/}
?
?图片<img>
<img id="chart_img" src="bond_big.jpg"/>
?
切换按钮
<span id="imgctr" style="cursor: pointer;display: block" onclick="showOrigin()">[原始大小]</span>
?
js代码(需要jQuery)
function showOrigin(){$('#chart_img').toggleClass("chart");if($('#chart_img').attr("class")){$('#imgctr').text("[原始大小]");}else{$('#imgctr').text("[缩放大小]");$('#chart_img')[0].style.removeExpression('width');/*ie6补丁*/}}
??
这个事例只有在IE6中才能体现removeExpression()的作用,ie7以上是不需要的。