IE 中使用:hover样式的注意点


首先想说的是:非标准浏览器真折腾人。

正文

在javascript通过innerHTML创建了一个超链接,通过class属性应用了:hover样式,在Chrome, Firefox下均正常,唯独IE,鼠标划过的时候,只是鼠标手势改变,并未增加下划线。

一开始怀疑是innerHTML的问题,于是改用document.createElement来写,结果还是不行。

然后怀疑样式污染的问题,去掉所有多余的样式之后,问题依旧。

于是乎,打开css帮助文档,看到“在CSS1中此伪类仅可用于 a 对象。对于无 href 属性(特性)的 a 对象, 此伪类不发生作用。

加上href=”javascript:void(0)”,再测试,效果终于出来了,这里不仅要谴责IE浏览器,还要提醒编程者,在写程序的时候多看帮助文档,少写变态程序,比如这里的a标记在初始化的时候没有href——没有href的a标记摆看?

Advertisements

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s