簡體   English   中英

在更改HREF后,IE忘記了A-Tag的主機名

[英]IE forgets an A-Tag's hostname after changing HREF

我在項目中動態設置了<a ...>href <a ...> 在其他方面,我檢查<a>的DOM-Property,稱為hostname ,以確定它是否是內部鏈接。

基本上,這就是發生的事情。

<!--HTML-->
<a id="my" href="/my/first/link">MyLink</a>
<div id="log"></div>

JS是:

// js
var a = document.getElementById( 'my' ),
    log = document.getElementById( 'log' );

log.innerHTML += a.hostname + '<br/>';

a.setAttribute('href',"/my/other/link");
log.innerHTML += a.hostname;

(參見這個小提琴: http//jsfiddle.net/RurQT/

當我將d.href設置為相對路徑時,我希望d.hostname保持不變 - 因此log -Div包含兩次相同的主機名。 這在FF和Chrome中是正確的。

但是,InternetExplorer 7,8和9都堅持第二次,主機名為空。

我特別困惑,因為第一個鏈接一直是相對的! 我沒有任何<base href>設置,順便說一下。

我非常感謝任何建議如何讓InternetExplorer更新a -DOM-Element的“hostname”屬性。

你必須隱藏並重新設置它似乎:

var d = document.getElementById( 'my' ),
var h = d.hostname
d.setAttribute('href',"/my/other/link");
d.hostname = h

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM