問題是什麼?超鏈接不需要的前綴Internet Explorer [Javascript]
只有在Internet Explorer(驚喜)是我的代碼執行不正確。下面這段簡短的代碼應該爲每個「a」標籤附加一個「onclick」動作。這很奇妙,但看看第五行,它應該將第二個函數參數設置爲錨標記的「href」屬性的值。在WebKit,Mozilla等中,它很好。如果我們將「href」設置爲「lorem_ipsum」,那麼WebKit,Mozilla等將檢索正確的結果並將第二個函數參數設置爲「lorem_ipsum」,Internet Explorer前綴「http://www.some.site/」,因此我們將「http://www.some.site/lorem_ipsum」報告爲第二個參數。 Internet Explorer不正確,因爲這不是錨標記實際值的「href」屬性。
Anchors=Parent.getElementsByTagName("a");
Anchor=0;
while(Anchor<Anchors.length){
Anchors[Anchor].onclick=function(){
Plot("",this.getAttribute("href"));
return false;
};
Anchor++;
};
我該如何解決這個荒謬的問題?在最後的斜線之前,我需要從字符串中剝離嗎?這似乎是一個漫長的囉嗦!有任何想法嗎?
感謝您的快速回復。你能否解釋你的答案,以便我可以看到它爲什麼發生了,以及你如何修復它。 KR,Jay – Jay 2009-07-27 16:12:16
location.href是一個預定義的變量,包含當前窗口的URL。我從鏈接中獲取HREF屬性,如果它包含此值,則將其子字符串去掉。簡單。 – 2009-07-27 17:12:20