好吧,问题是这样的:IE 将 document.getElementsByName(...)[0] 理解为 document.getElementById(...)。因此,如果您还要为您的元素定义一个 id,那么方法 document.getElementsByName(element_name)[0].innerHTML="" 也会令人惊讶地在 IE 中工作!
但是,由于 IE 无论如何您都需要定义一个 id,并且由于 id 必须始终以 char 开头,因此您必须使用:
<div id="a234">
<img src="pic.gif" height="70" width="100" onMouseOver="clear('a234')">
</div>
这个命令:
function clear(element_id){
document.getElementById(element_id).innerHTML="";
}
更重要的是,document.getElementsByName(...)[0] 在 Firefox 中速度较慢:http ://www.uize.com/tests/performance/getElementById-vs-getElementsByName.html
所以 id 肯定会赢得比赛。
更新:
同样重要的是,我们可以在CSS文件中通过 #a234{...} 对每个 id 进行寻址。所以我们可以为每个 id 定义一个自己的样式,这使得 id 更加强大。