innerHTML 和 getElementsByName 在IE下面的bug 的解决


Posted in Javascript onApril 09, 2010

比如有这样一个问题。

<div id="playlist"> 
</div>

在这div 中,加入一个播放吗列表。这列表用innerHTML 加入。
var plst = null; 
plst = player.getPlaylist(); 
if (plst) { 
var txt = ''; 
for(var i in plst) { 
txt += '<a name="fv_item_a_' + i + '"></a><div class="fv_item" id="fv_item_'+ i +'"><div class="playing_bg" name="playing_bg"></div>'; 
txt += '<div class="playing" name="playing">正在播放...</div>'; 
txt += '<img src="' + plst[i].image + '" width="80" height="50" class="fv_playlist_img" />'; 
txt += '<p class="fv_playlist_title"> ' + plst[i].title + ' </p>'; 
txt += "</div>"; 
} 
var obj= document.getElementById("playlist"); 
if (obj) { 
obj.innerHTML = txt; 
} 
}

中间的复杂代码不用去管了,现在我要把name 为 playing 的 div 取出来。很容易想到用
getElementsByName
但是,非常奇怪的是,在ie 下面 就是 取不到。getElementById 完全可以用。
下面是一个不错的解决方案:
function GetElementsByName(tag, name) { 
var elem = document.getElementsByTagName(tag); 
var arr = []; 
var index = 0; 
var l = elem.length; 
for(var i = 0; i < l; i++) 
{ 
var att = elem[i].getAttribute("name"); 
if(att == name) { 
arr[index++] = elem[i]; 
} 
} 
return arr; 
}

改成这个函数,就可以取了。只是要多一个参数了。
不知道博友们还有没有其他的解决方案,这个解决方案不是很完美。一定要在评论里面留言一下。
Javascript 相关文章推荐
js实现ASP分页函数 HTML分页函数
Sep 22 Javascript
createElement动态创建HTML对象脚本代码
Nov 24 Javascript
js document.write()使用介绍
Feb 21 Javascript
JavaScript中读取和保存文件实例
May 08 Javascript
浅谈javascript中call()、apply()、bind()的用法
Apr 20 Javascript
JavaScript中操作字符串小结
May 04 Javascript
基于jquery实现图片上传本地预览功能
Jan 08 Javascript
Javascript农历与公历相互转换的简单实例
Oct 09 Javascript
不得不看之JavaScript构造函数及new运算符
Aug 21 Javascript
浅谈Vue响应式(数组变异方法)
May 07 Javascript
Vant 在vue-cli 4.x中按需加载操作
Nov 05 Javascript
原生微信小程序开发中 redux 的使用详解
Feb 18 Javascript
Javascript string 扩展库代码
Apr 09 #Javascript
JavaScript 设计模式之组合模式解析
Apr 09 #Javascript
跟着Jquery API学Jquery之一 选择器
Apr 07 #Javascript
基于JQuery的cookie插件
Apr 07 #Javascript
JQuery为textarea添加maxlength属性的代码
Apr 07 #Javascript
JavaScript和JQuery实用代码片段(一)
Apr 07 #Javascript
jquery 学习笔记一
Apr 07 #Javascript
You might like
如何隐藏你的.php文件
2007/01/04 PHP
php使用COPY函数更新配置文件的方法
2015/06/18 PHP
ECSHOP在PHP5.5及高版本上报错的解决方法
2015/08/31 PHP
PHP fopen中文文件名乱码问题解决方案
2020/10/28 PHP
javascript代码加载优化方法
2011/01/30 Javascript
Javascript中正则表达式的全局匹配模式分析
2011/04/26 Javascript
Three.js源码阅读笔记(Object3D类)
2012/12/27 Javascript
javascript中的nextSibling使用陷(da)阱(keng)
2014/05/05 Javascript
再分享70+免费的jquery 图片滑块效果插件和教程
2014/12/15 Javascript
JS获取时间的方法
2015/01/21 Javascript
跟我学习javascript的arguments对象
2015/11/16 Javascript
基于PHP和Mysql相结合使用jqGrid读取数据并显示
2015/12/02 Javascript
BootStrap响应式导航条实例介绍
2016/05/06 Javascript
js实现手机拍照上传功能
2017/01/17 Javascript
redux中间件之redux-thunk的具体使用
2018/04/17 Javascript
Javascript实现购物车功能的详细代码
2018/05/08 Javascript
js实现无限瀑布流实例方法
2019/09/16 Javascript
python str与repr的区别
2013/03/23 Python
Python数组遍历的简单实现方法小结
2016/04/27 Python
Python语言描述连续子数组的最大和
2018/01/04 Python
python3爬取淘宝信息代码分析
2018/02/10 Python
python中字符串的操作方法大全
2018/06/03 Python
Python实现去除图片中指定颜色的像素功能示例
2019/04/13 Python
django模型动态修改参数,增加 filter 字段的方式
2020/03/16 Python
python让函数不返回结果的方法
2020/06/22 Python
一些网络技术方面的面试题
2014/05/01 面试题
大学毕业感言200字
2014/03/09 职场文书
人民教师求职自荐信
2014/03/12 职场文书
社区反邪教工作方案
2014/06/16 职场文书
2015年公民道德宣传日活动总结
2015/03/23 职场文书
酒店人事专员岗位职责
2015/04/07 职场文书
2015年双拥工作总结
2015/04/08 职场文书
教师调动申请报告
2015/05/18 职场文书
2016年综治宣传月活动宣传标语口号
2016/03/16 职场文书
Golang MatrixOne使用介绍和汇编语法
2022/04/19 Golang
Redis主从复制操作和配置详情
2022/09/23 Redis