那天封装一个ajax边输入边提示标签,在JS脚本中使用到了document.getElementsByName,一经测试,发现在firefox,opera,safari,chrome下测试均无问题,但是,就是这个IE,就是这个我们中国人一大半以上人在使用的IE,它偏偏就出西西了,脚本执行到document.getElementsByName一句就挂了,无奈,只好退而求其次,使用以下函数替代:
?
function fixedGetElementsByName(tag, name) {
??? var tagArr = document.getElementsByTagName(tag);
??? var elements = [];?????
??? for (var i = 0; i < tagArr.length; i++)
??? {
??????? var att = tagArr[i].getAttribute("name");
??????? if (att == name) {
??????????? elements[i] = tagArr[i];
??????? }
??? }
??? return elements;
}
1 楼
liankun_8143
2010-09-27
elements[i] = tagArr[i];有问题
elements的长度不应和tagArr的长度相同
elements的长度不应和tagArr的长度相同
2 楼
zhuzhuaijq
2011-09-10
原来如此!

3 楼
hbzyb
2011-10-18
elements[i] = tagArr[i];
elements的下标应该顺序记录, 应该单独给个变量作为下标, 单独计数
elements的下标应该顺序记录, 应该单独给个变量作为下标, 单独计数