IE 有一个问题,例如,如果我尝试动态更改如下链接:
<a href="http://www.foo.com">www.foo.com</a>
至
<a href="http://www.bar.com?q=www.foo.com">www.foo.com</a>
使用 JavaScript 将链接更改为(仅在 IE 中)
<a href="http://www.bar.com?q=www.foo.com">http://www.bar.com?q=www.foo.com</a>
这不是我想要做的。
我找到了解决方案,例如保存 interHTML、更改链接并使用旧值恢复 interHTML……但是如果内部内容有一些动态附加的事件怎么办?将丢失。
目前我尝试检查是否有任何带有innerHTML的HTML属性,如果没有,我会恢复旧的HTML。
function change_link(a,newlink)
{
if(navigator.appName == 'Microsoft Internet Explorer') {
var old = a.innerHTML ;
if(old.indexOf('<')==-1) {
a.href=newlink;
a.innerHTML = old;
return
}
}
a.href=newlink;
}
可能有什么问题吗?
是否可以动态地将事件附加到内部 HTML 的纯文本中,并且在内部 HTML 重置期间它会丢失?