2009-08-17 19 views
0

我遇到了奇怪的故障。看起來,如果我在一個錨元素上同時擁有一個ID和NAME屬性,那麼document.getElementById會失敗。如果我刪除了NAME,它就會起作用。我在Firefox 3.5(最新版)中看到了這一點,但尚未檢查其他瀏覽器。如果錨也具有名稱屬性,則Javascript - getElementById失敗

這是一個錯誤還是故意的?

+2

無法重現。幾乎可以肯定你在同一時間做的其他改變。 – 2009-08-17 19:42:22

+0

也許在被移除的名稱標籤和另一個名稱標籤之間存在衝突? – Zed 2009-08-17 19:43:19

+0

我唯一見過類似的東西是在IE中 - 它不區分名稱/ ID屬性,所以getElementById可以返回一些事情,如果發生碰撞,您並不總是期待這樣的事情。 – Pat 2009-08-17 19:51:02

回答

4

我從來沒有聽說過這樣的錯誤,所以我試圖重現它並失敗。這表明你誤診了這個問題,或者至少沒有提供足夠的信息。

我使用Firefox 3.5和以下代碼進行了測試。

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" 
    "http://www.w3.org/TR/html4/strict.dtd"> 
<title>Test of getElementById with named anchors</title> 
<h1>Test of getElementById with named anchors</h1> 

<h2><a name="one" id="one">First section</a></h2> 
<p>The quick brown fox</p> 

<h2><a name="two" id="second">Second section</a></h2> 
<p>The quick brown fox</p> 

<script type="text/javascript">  
if (document.getElementById('one')) { 
     document.write("<p>First section found - id matches name<\/p>"); 
} 

if (document.getElementById('second')) { 
     document.write("<p>Second section found - id does not match name<\/p>"); 
} 
</script> 
+0

相同,我無法在我的3.5.2 firefox上重現它。 :\ – codingbear 2009-08-17 19:49:03

+0

感謝您的測試人員。我不知道目前是什麼造成的,但如果我在未來有一段時間,我會調查。我想知道它是否以我的代碼,或者我無法完全描述的奇怪邊緣情況。 – Geuis 2009-08-17 20:05:58

相關問題