2012-06-22 47 views
2

我有一個形象和嵌入式這樣一個圖:圖片地圖不能被ID引用?

<img src="planets.gif" width="145" height="126" alt="Planets" usemap="planetmap" /> 
<map id="planetmap"> 
    ... 

它不工作。我嘗試使用name屬性爲map

<img src="planets.gif" width="145" height="126" alt="Planets" usemap="#planetmap" /> 
<map name="planetmap"> 
    ... 

和它的工作!即使這樣:

<img src="planets.gif" width="145" height="126" alt="Planets" usemap="#planetmap" /> 
<map id="planetmap"> 
    ... 

工作,儘管只在IE9,而不是在Chrome。是否因爲Chrome不支持它,或僅僅是因爲IE的引擎馬虎?

我在這裏做錯了什麼? W3Schoolsexplicitly recommends使用id屬性而不是name

HTML和XHTML

在XHTML之間的差異,所述標記的名稱屬性已過時,將被刪除。使用> id屬性代替

我的DOCTYPE是<!DOCTYPE html>

回答

8

不推薦使用<map>的名稱屬性。事實上,它甚至是一個part of the HTML5 specification for <map>

另外XHTML!= HTML5。
最後,不要使用W3school作爲參考。相反,請使用Mozilla Developer Network
要獲得高質量的文檔,請在您的關鍵字上添加或附加「mdn」。 "mdn image map"

+1

[usemap屬性](http://dev.w3.org/html5/markup/img.html#img.attrs.usemap)被明確定義爲[哈希名稱引用](http: //dev.w3.org/html5/markup/datatypes.html#common.data.hash-name)HTML5 – lanzz

+2

MDN的參考資料當然是全面的,但技術性很強,我發現SitePoint比W3c更準確,更具可讀性比MDN:http://reference.sitepoint.com/html –

+1

+1「追加'mdn'到您的搜索關鍵字」。可能是您可以給予Web開發人員的最佳建議。 –

0

嘗試把

....usemap="#planetmap" border=0 /> 

代替

usemap="planetmap" /> 

在Firefox 11它的工作原理。

+0

這就是他在第三個例子中所做的,不是嗎? –

+0

@RobW感謝您編輯我的文章。是的,這正是我在第三個例子中所做的,但它仍然在Chrome中無效:( –