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 内存回收机制理解
Jan 17 Javascript
JavaScript实现将文本框的值插入指定位置的方法
Aug 13 Javascript
javascript日期操作详解(脚本之家整理)
Sep 05 Javascript
js仿淘宝和百度文库的评分功能
May 15 Javascript
JS弹出窗口插件zDialog简单用法示例
Jun 12 Javascript
AngularJS实现ajax请求的方法
Nov 22 Javascript
详解js的六大数据类型
Dec 27 Javascript
Ajax异步获取html数据中包含js方法无效的解决方法
Feb 20 Javascript
js判断节假日实例代码
Dec 27 Javascript
详解Vue中使用Axios拦截器
Apr 22 Javascript
Vue组件通信的几种实现方法
Apr 25 Javascript
了解JavaScript中的选择器
May 24 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中的正则表达式函数介绍
2012/02/27 PHP
PHP实现的登录页面信息提示功能示例
2017/07/24 PHP
laravel Validator ajax返回错误信息的方法
2019/09/29 PHP
jquery中输入验证中一个不错的效果
2010/08/21 Javascript
js制作的鼠标悬浮时产生的下拉框效果
2012/10/27 Javascript
网页加载时页面显示进度条加载完成之后显示网页内容
2012/12/23 Javascript
Node.js(安装,启动,测试)
2014/06/09 Javascript
jQuery+css实现百度百科的页面导航效果
2014/12/16 Javascript
JS实现点击文字对应DIV层不停闪动效果的方法
2015/03/02 Javascript
jQuery实现布局高宽自适应的简单实例
2016/05/28 Javascript
浅谈EasyUi ComBotree树修改 父节点选择的问题
2016/11/07 Javascript
详谈jQuery中使用attr(), prop(), val()获取value的异同
2017/04/25 jQuery
解决vue中使用swiper插件问题及swiper在vue中的用法
2018/04/04 Javascript
angularJS开发注意事项
2018/05/26 Javascript
vue-cli 首屏加载优化问题
2018/11/06 Javascript
Vue学习笔记之计算属性与侦听器用法
2019/12/07 Javascript
Vue引入Stylus知识点总结
2020/01/16 Javascript
Python生成pdf文件的方法
2014/08/04 Python
Python里disconnect UDP套接字的方法
2015/04/23 Python
在Django的模板中使用认证数据的方法
2015/07/23 Python
python实现给微信公众号发送消息的方法
2017/06/30 Python
python使用Tkinter实现在线音乐播放器
2018/01/30 Python
python 插入日期数据到Oracle实例
2020/03/02 Python
Python如何操作office实现自动化及win32com.client的运用
2020/04/01 Python
python3用PyPDF2解析pdf文件,用正则匹配数据方式
2020/05/12 Python
使用python实现名片管理系统
2020/06/18 Python
英国最大的电子零件及配件零售商:Partmaster
2017/04/24 全球购物
Nayomi官网:沙特阿拉伯王国睡衣和内衣品牌
2020/12/19 全球购物
草莓网中国:StrawberryNet中国
2020/08/17 全球购物
C#如何调用Windows程序打开一个文档
2014/12/26 面试题
银行门卫岗位职责
2013/12/29 职场文书
考试作弊被抓检讨书
2014/01/10 职场文书
大三毕业自我鉴定
2014/01/15 职场文书
中小学生学籍证明
2014/10/25 职场文书
入党宣誓大会后的感想
2015/08/10 职场文书
html粘性页脚的具体使用
2022/01/18 HTML / CSS