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 のプレーン テキストにイベントを動的に添付できますか?これは、innerHTML のリセット中に失われますか?