我在具有以下 HTML 的网页上有一个图像映射:
<div class="container">
<img src="image.png" usemap="#hotspots">
<map name="#hotspots">
<area id="seg-1" href="" shape="poly" coords="167,286,113,379,320,379,266,286,167,286"/>
<area... />
<area... />
<area... />
...
</map>
</div>
我正在尝试使用以下 JavaScript 获取对区域元素的引用:
var seg1 = document.getElementById("seg-1");
我成功地获得了参考:
- Safari 6 (OS X)
- 铬 26 (OS X)
- 火狐 21 (OS X)
- 铬 27 (XP)
- 铬 27 (W7)
- 铬 (W8)。
但不在:
- IE8 (XP)
- IE9 (W7)
- IE10 (W8)
- 火狐 17 (XP)
- 火狐 21 (W7)
- 火狐 21 (W8)。
当它工作时,我得到对 HTML 区域元素的引用,但当它不起作用时,我得到对文档的引用。以下是控制台日志消息:
在职的:
HTMLAreaElement
不工作:
http://localhost/index.html
我知道如何解决这个问题,但我试图了解为什么会这样?为什么 getElementById 不适用于图像地图区域元素?
感谢您的任何想法。