2012-08-26 114 views
0

我有以下我的網頁底部的結束標記之前的代碼小片段:的href屬性拒絕頁面加載後要重新設置

var myAnchor = document.getElementById("tools").getElementsByTagName("a")[0]; 
var myHref = myAnchor.href; 
myHref = "http://www.failblog.org"; 
alert(myHref); 

頁面提示「HTTP:// WWW .failblog.org「,如預期的那樣,但它實際上並沒有改變錨點的href屬性的值。該鏈接固執地保留其原始的href。誰能告訴我我做錯了什麼?

回答

2

你做了錯誤的方式,試試這個:

myHref = "http://www.failblog.org"; 
    var myAnchor = document.getElementById("tools").getElementsByTagName("a")[0]; 
    myAnchor.href = myHref; 
    alert(myHref); 
+0

呃!我很愚蠢。我在想,因爲我以前給myHref的值myAnchor.href,當我給myHref它的新值時我說myAnchor.href =「http://failblog.org」實際上我給myHref一個新的值然後無所作爲!謝謝! – JulianJohannesen

+0

那些「Duh!」的時刻發生了很多對任何開發人員,沒關係:) –

1

當設置爲var myHref = myAnchor.href;時,字符串值myHref將設置爲字符串值myAnchor.href;,該變量未被指定爲引用,而是作爲該值的副本。

+0

謝謝,@Ragnagord! – JulianJohannesen

0

更改代碼這樣:

var myHref = "http://www.failblog.org"; 
var myAnchor = document.getElementById("tools").getElementsByTagName("a")[0]; 
myAnchor.href = myHref; 
+0

謝謝,Virendra! – JulianJohannesen