IE下动态修改a元素的链接属性导致元素内文本同时修改的问题


问题描述

IE全系列下,如果链接文本和链接的href属性一样,使用js修改链接的href属性,链接内的文本也会立刻改变为新修改的href。

注意:

  • 这里如果链接文本前后有空格这个也是会发生的,应该是trim后对比。
  • 不管是用户的直接的点击操作,还是onload触发的,只要满足链接和文本trim后一样,都会产生这个问题

猜测

没有在网上搜到IE的官方资料(如果哪位搜到了,麻烦告诉一下),猜测是IE为了防止钓鱼链接特地加了这个特性。

解决办法

很简单,改变属性之前记录一下原有的href,然后改变属性后再恢复

例子

下面是一个超级完整的,包括了bug重现及修复的方法 iehrefreset.html


推荐文章