gpt4 book ai didi

javascript - 在 IE 上 document.getElementsByName 不起作用

转载 作者:数据小太阳 更新时间:2023-10-29 04:12:57 25 4
gpt4 key购买 nike

我使用这段代码:

<div name="1234">
<img src="pic.gif" height="70" width="100" onMouseOver="clear('1234')">
</div>

和:

function clear(element_name){
document.getElementsByName(element_name)[0].innerHTML="";
}

它在 Firefox 和 Opera 中工作,但在 IE 6.0 或 IE 8.0 中不工作,甚至可能在较新的 IE 中也不工作。

怎么办?

最佳答案

嗯,问题是这样的: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 更加强大。

关于javascript - 在 IE 上 document.getElementsByName 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14575671/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com