打印

[讨论] 给不同 type 的 input 自动设置样式

input 有一堆 type 属性,不同的 type 对应不同的表单元素。CSS 定义的时候,对于支持 CSS2 选择符的浏览器,可以使用
复制内容到剪贴板
代码:
input[type="checkbox"]
input[type="text"]
等等来对 input 分别做不同定义,但是对于 IE6,这法子行不通。
一般的解决方案是给不同的 input 加不同的 class,可以手动加,也可以用 js 遍历自动加,刚由一个问题想到可以用 expression 加。
关键代码:
复制内容到剪贴板
代码:
input{
    zoom: expression(function(ele){(ele.className)?ele.className+=" "+ele.type:ele.className=ele.type; ele.style.zoom = "1";}(this));
}
两点:

  • 将 input 的属性取出来,赋给 className。
  • 对于 expression,这里使用一个无关紧要的属性(此处是zoom)来触发,处理完需要做的事情之后,再将此属性覆盖掉以解决 expression 不断执行的效率问题。


例子:

 提示:您可以先修改部分代码再运行
http://old9.blogsome.com 已被 GFW 封锁
写的很好  支持一下
不在多在专
顶一个.

TOP

认证您的手机,获得手机认证图标, 更多手机认证的好处
感谢楼主分享