jquery, select, option, firefox, chrome, IE, opera...

本来目标只是隐藏select下的option

 

最初尝试用jQuery里的$("select option").hide()和$("select option").show()控制option隐藏与出现,firefox4和chrome10均ok,但是chrome不能正确判断:hidden属性(只要进行过.hide(),.is(":hidden")就永远为true),随后发现可以用(.css("display:none")=="none")判断,然后发现IE(我用的是腾讯TT,疑似6)等也可以判断。但是,IE(以及opera、safari)不支持option的display属性的,hide、show操作会改变display的值,但option的可见性不会变化尴尬

之后痛苦地查解决方案,大家均表示要在代码里备份一下然后remove,需要的时候再根据备份add,觉得极为麻烦,几乎放弃,突然google到一个,使用.wrap("<span style='display:none'></span>"); 达到隐藏效果,再使用unwrap()去除隐藏效果。还能天然使用jQuery的$("select>option")和$("select span option")判断是否隐藏,终于完成...

btw, firebug+firerainbow不错,不过,这导致ff下的代码总是第一个迅速调通的,然后就只能生气发火骂人抓狂......还有,刚发现上面的方法在opera下option只是会变成空白,但还可以选尴尬....算了,一共就5个人会访问的页面里没人会用opera的...

 

Thanks to:http://www.jb51.net/article/20842.htm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值