去掉CSS中的表达式Expression

在IE中,CSS是可以嵌入js表达式的,可以在CSS类中定义,但是将含有表达CSS类从DOM对象中移除,样式表达式是不会失效的。

经过研究找到了答案,需要使用js调用style对象的removeExpression()方法才可去除。

下面是方法的说明:

语法

bSuccess = object.removeExpression(sPropertyName)

参数

sPropertyName Required. String that specifies the name of the property from which to remove an expression.

返回值

Returns one of the following possible values:

true The expression was successfully removed.
false The expression was not removed.

下面给出一个实用例子:利用样式限制图片最大宽度,通过一个按钮切换实际大小与缩放大小。

CSS类,作用:限制图片的最大宽度,超出指定宽度等比缩小。

Css代码  

  1. .wrap {
  2. border:none;
  3. max-width:730px;
  4. height:auto;
  5. width:expression(this.width>730?"730px":true);/*ie6补丁*/
  6. }

图片<img>

Html代码  

  1. <img id="chart_img" class="chart" src="bond_big.jpg"/>

切换按钮

Html代码  

  1. <span id="imgctr" style="cursor: pointer;display: block" onclick="showOrigin()">[原始大小]</span>

js代码(需要jQuery)

Java代码  

  1. function showOrigin(){
  2. $(‘#chart_img‘).toggleClass("chart");
  3. if($(‘#chart_img‘).attr("class")){
  4. $(‘#imgctr‘).text("[原始大小]");
  5. }else{
  6. $(‘#imgctr‘).text("[缩放大小]");
  7. $(‘#chart_img‘)[0].style.removeExpression(‘width‘); /*ie6补丁*/
  8. }
  9. }

这个事例只有在IE6中才能体现removeExpression()的作用,ie7以上是不需要的。

时间: 2024-08-09 02:15:34

去掉CSS中的表达式Expression的相关文章

CSS中的行为——expression

IE5及其以后版本支持在CSS中使用expression,用来把CSS属性和Javascript表达式关联起来,这里的CSS属性可以是元素固有的属性,也可以是自定义属性.就是说CSS属性后面可以是一段Javascript表达式,CSS属性的值等于Javascript表达式计算的结果. 在表达式中可以直接引用元素自身的属性和方法,也可以使用其他浏览器对象.这个表达式就好像是在这个元素的一个成员函数中一样. 给元素固有属性赋值 下面是定义container容器的宽度,如果<725就为自己的宽度,否则

CSS中使用expression

CSS中使用expression只有ie才能识别IE5及其以后版本支持在CSS中使用expression用来把CSS属性和Javascript表达式关联起来这里的CSS属性可以是元素固有的属性也可以是自定义属性 就是说CSS属性后面可以是一段Javascript表达式CSS属性的值等于Javascript表达式计算的结果 在表达式中可以直接引用元素自身的属性和方法也可以使用其他浏览器对象这个表达式就好像是在这个元素的一个成员函数中一样 1.给元素固有属性赋值 下面是定义container容器的宽

理解CSS中的数学表达式calc()

前面的话 数学表达式calc()是CSS中的函数,主要用于数学运算.使用calc()为页面元素布局提供了便利和新的思路.本文将介绍calc()的相关内容 定义 数学表达式calc()是calculate计算的缩写,它允许使用+.-.*./这四种运算符,可以混合使用%.px.em.rem等单位进行计算 兼容性: IE8-.safari5.1-.ios5.1-.android4.3-不支持,android4.4-4.4.4只支持加法和减法.IE9不支持用于backround-position [注意

CSS中input输入框点击时去掉外边框方法【outline:medium;】----CSS学习

CSS 中添加 outline:medium; JS 控制焦点: $("#CUSTOM_PHONE").focus(function(event){ // this.attr("border","none"); $("#CUSTOM_PHONE").css('border-bottom','1px solid #3BC2B5'); }); $("#CUSTOM_PHONE").blur(function(e

原来css中的border还可以这样玩

原来css中的border还可以这样玩 前面的话: 在看这篇文章之前你可能会觉得border只是简单的绘制边框,看了这篇文章,我相信你也会跟我一样说一句"我靠,原来css中的border还可以这样玩".这篇文章主要是很早以前看了别人用纯CSS绘制三角形后自己的一些思路的整理,文中会介绍几种小图标的效果. 用css中的border绘制鸡蛋形状: 是的你没看错,这里是要做绘制一个类似于鸡蛋的效果. 思路:我们先用div绘制一个正方形,然后利用设置border-radius: 50%;,这样

[ jquery 过滤器 parent(expr) ] 此方法用于在选择器的基础之上搜索被选元素中符合表达式的父元素

此方法用于在选择器的基础之上搜索被选元素中符合表达式的父元素 取得一个包含着所有匹配元素的唯一父元素的元素集合,你可以使用可选的表达式来筛选: 实例: <html lang='zh-cn'> <head> <title>Insert you title</title> <meta http-equiv='description' content='this is my page'> <meta http-equiv='keywords' c

JSP中EL表达式的应用以及常用的方法

EL表达式      1.EL简介 1)语法结构        ${expression} 2)[]与.运算符      EL 提供.和[]两种运算符来存取数据.      当要存取的属性名称中包含一些特殊字符,如.或?等并非字母或数字的符号,就一定要使用 []. 例如:          ${user.My-Name}应当改为${user["My-Name"] }      如果要动态取值时,就可以用[]来做,而.无法做到动态取值.例如:          ${sessionScop

去掉字符串中的空格

1)Trim方法 string   tt=" aaa "; tt=tt.Trim()       去字符串首尾空格的函数 tt=tt.TrimEnd() 去掉字符串尾空格 tt=tt.TrimStart() 去掉字符串首空格 (2)通过ASCII码值去掉字符中的空格 由于空格的ASCII码值是32,因此,在去掉字符串中所有的空格时,只需循环访问字符串中的所有字符,并判断它们的ASCII码值是不是32即可.去掉字符串中所有空格的关键代码如下: CharEnumerator CEnumer

前中后缀表达式以及表达式树

中缀表达式就是我们平时喜闻乐见的形式:二元运算符在中间,它的两个操作数在两侧: a + b * c + ( d * e + f ) * g 后缀和前缀表达式,顾名思义就是把运算符分别放在前面或者后面,注意没有括号,手工转换方法是按运算顺序添加括号,然后把相应的运算符置于相应的括号的前或后,如: ((a + ( b * c)) + (((d * e) + f) * g)) 放到前面有: +(+(a*(b c))*(+((*(d e))f)g)) 放到后面有: ((a(b c)*)+(((d e)*