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 相关文章推荐
非阻塞动态加载javascript广告实现代码
Nov 17 Javascript
onbeforeunload与onunload事件异同点总结
Jun 24 Javascript
分享一款基于jQuery的视频播放插件
Oct 09 Javascript
javascript的tab切换原理与效果实现方法
Jan 10 Javascript
JQuery中extend的用法实例分析
Feb 08 Javascript
jquery插件bxslider用法实例分析
Apr 16 Javascript
jQuery取消特定的click事件
Feb 29 Javascript
PHP+jquery+ajax实现分页
Dec 09 Javascript
jQuery实现文字自动横移
Jan 08 Javascript
AngularJS实现表格的增删改查(仅限前端)
Jul 04 Javascript
Vue.js项目模板搭建图文教程
Sep 20 Javascript
JavaScript实现音乐播放器
Aug 14 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
解析PayPal支付接口的PHP开发方式
2010/11/28 PHP
深入Nginx + PHP 缓存详解
2013/07/11 PHP
Windows和Linux中php代码调试工具Xdebug的安装与配置详解
2014/05/08 PHP
PHP错误Warning:mysql_query()解决方法
2015/10/24 PHP
Thinkphp单字母函数使用指南
2016/05/08 PHP
PHP实现文字写入图片功能
2019/02/18 PHP
参考:关于Javascript中实现暂停的几篇文章
2007/03/04 Javascript
提交表单时执行func方法实现代码
2013/03/17 Javascript
javascript控制层显示或隐藏的方法
2015/07/22 Javascript
简单谈谈node.js 版本控制 nvm和 n
2015/10/15 Javascript
jQuery解析json数据实例分析
2015/11/24 Javascript
JS实现单击输入框弹出选择框效果完整实例
2015/12/14 Javascript
用原生JS对AJAX做简单封装的实例代码
2016/07/13 Javascript
angularjs中ng-bind-html的用法总结
2017/05/23 Javascript
Node.js 使用递归实现遍历文件夹中所有文件
2017/09/18 Javascript
基于 flexible 的 Vue 组件:Toast -- 显示框效果
2017/12/26 Javascript
vue使用element-ui的el-input监听不了回车事件的解决方法
2018/01/12 Javascript
Vue 处理表单input单行文本框的实例代码
2019/05/09 Javascript
在Layui中操作数据表格,给指定单元格添加事件示例
2019/10/26 Javascript
用Python登录Gmail并发送Gmail邮件的教程
2015/04/17 Python
Python实现的数据结构与算法之快速排序详解
2015/04/22 Python
如何使用Python的Requests包实现模拟登陆
2018/04/27 Python
使用Anaconda3建立虚拟独立的python2.7环境方法
2018/06/11 Python
python 去除txt文本中的空格、数字、特定字母等方法
2018/07/24 Python
python爱心表白 每天都是浪漫七夕!
2018/08/18 Python
django使用xadmin的全局配置详解
2019/11/15 Python
python实现加密的方式总结
2020/01/19 Python
tensorflow模型转ncnn的操作方式
2020/05/25 Python
为什么相对PHP黑python的更少
2020/06/21 Python
意大利婴儿产品网上商店:Mukako
2018/10/14 全球购物
如何让Java程序执行效率更高
2014/06/25 面试题
护理专业推荐信
2013/11/07 职场文书
人民调解协议书范本
2014/10/11 职场文书
2019军训心得体会
2019/06/27 职场文书
Django实现drf搜索过滤和排序过滤
2021/06/21 Python
python lambda 表达式形式分析
2022/04/03 Python