今天在<ASP:radiobuttonlist/>中使用教本的的時候才注意到原來 document.getElementsByName 、document.getElementById 在IE與FF中有著不同實現。
對於ID & Name 按最經典的解釋的:“ID 就如同我們的SFZ,Name就如同我們的名字”,也就是說,在一個Html文檔中ID是唯一的,但是Name是可以重復的,就象我們的人名可以重復但是SFZ確實全中國唯一的(PS:據說有重復的^_^)
但是對於document.getElementsByName 與document.getElementById 這個兩個方法,IE中是並沒有嚴格區分 ID 與 Name 的,比如:
<script type="text/Javascript">
function useGetElementsByNameWithId(id) {
var eles = document.getElementsByName('ID_A');
var msg = '使用 getElementsByName 傳入 ID:得到:'
if(eles.length > 0) {
msg += " Name " + eles[0].id;
}
alert(msg);
}
function usegetElementByIdWithName(name) {
var ele = document.getElementById(name);
var msg = '使用 getElementById 傳入 Name 得到:';
if(ele) {
msg += " ID " + ele.id;