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 相关文章推荐
jQuery下通过replace字符串替换实现大小图片切换
May 22 Javascript
jquery实现滑动图片自己测试的例子
Nov 05 Javascript
使用jquery.validate自定义方法实现&quot;手机号码或者固话至少填写一个&quot;的逻辑验证
Sep 01 Javascript
JavaScript中关联原型链属性特性
Feb 13 Javascript
node.js学习之断言assert的使用示例
Sep 28 Javascript
通过一个简单的例子学会vuex与模块化
Nov 22 Javascript
详解vue2.0+vue-video-player实现hls播放全过程
Mar 02 Javascript
使用vue-router beforEach实现判断用户登录跳转路由筛选功能
Jun 25 Javascript
vue+node实现图片上传及预览的示例方法
Nov 22 Javascript
Vue.Draggable拖拽功能的配置使用方法
Jul 29 Javascript
微信公众号生成新浪短网址的实现(快速生成)
Aug 18 Javascript
微信小程序自定义头部导航栏(组件化)
Nov 15 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+Mysql+jQuery实现动态展示信息
2011/10/08 PHP
PHP实现的文件操作类及文件下载功能示例
2016/12/24 PHP
php 浮点数比较方法详解
2017/05/05 PHP
PHP使用微信开发模式实现搜索已发送图文及匹配关键字回复的方法
2017/09/13 PHP
PHP以json或xml格式返回请求数据的方法
2018/05/31 PHP
js验证表单第二部分
2006/11/25 Javascript
jquery.combobox中文api和例子,修复了上面的小bug
2011/03/28 Javascript
原生Js页面滚动延迟加载图片实现原理及过程
2013/06/24 Javascript
js类定义函数时用prototype与不用的区别示例介绍
2014/06/10 Javascript
浅谈JavaScript字符串拼接
2015/06/25 Javascript
jquery点击缩略图切换视频播放特效代码分享
2015/09/15 Javascript
jQuery实现鼠标滑过链接控制图片的滑动展开与隐藏效果
2015/10/28 Javascript
JavaScript函数中关于valueOf和toString的理解
2016/06/14 Javascript
微信小程序 数据绑定及运算的简单实例
2017/09/20 Javascript
JavaScript实现更换背景图片
2019/10/18 Javascript
vue的$http的get请求要加上params操作
2020/11/12 Javascript
Python获取文件ssdeep值的方法
2014/10/05 Python
Python类的多重继承问题深入分析
2014/11/09 Python
Selenium(Python web测试工具)基本用法详解
2018/08/10 Python
Python直接赋值、浅拷贝与深度拷贝实例分析
2019/06/18 Python
Python爬虫实现的根据分类爬取豆瓣电影信息功能示例
2019/09/15 Python
Python爬虫实现“盗取”微信好友信息的方法分析
2019/09/16 Python
如何运行带参数的python脚本
2019/11/15 Python
解决安装pyqt5之后无法打开spyder的问题
2019/12/13 Python
python 爬取疫情数据的源码
2020/02/09 Python
CSS3实现超慢速移动动画效果非常流畅无卡顿
2014/06/15 HTML / CSS
英国马莎百货官网:Marks & Spencer
2016/07/29 全球购物
介绍一下Linux中的链接
2016/05/28 面试题
如何获得EntityManager
2014/02/09 面试题
个人简历的自荐信
2013/10/23 职场文书
幼儿园元旦家长感言
2014/02/27 职场文书
中学生爱国演讲稿
2014/09/05 职场文书
物业工程部岗位职责
2015/02/11 职场文书
收入证明申请书
2015/06/12 职场文书
小学三年级数学教学反思
2016/02/16 职场文书
Android Flutter实现图片滑动切换效果
2022/04/07 Java/Android