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 相关文章推荐
Firefox 无法获取cssRules 的解决办法
Oct 11 Javascript
关于Javascript 的 prototype问题。
Jan 03 Javascript
JS原型对象的创建方法详解
Jun 16 Javascript
js实现千分符和保留几位小数的简单实例
Aug 01 Javascript
js实现消息滚动效果
Jan 18 Javascript
AngularJs表单校验功能实例代码
Feb 09 Javascript
js实现方块上下左右移动效果
Aug 17 Javascript
Angular4编程之表单响应功能示例
Dec 13 Javascript
node跨域转发 express+http-proxy-middleware的使用
May 31 Javascript
详解vue-cli3多环境打包配置
Mar 28 Javascript
Javascript地址引用代码实例解析
Feb 25 Javascript
JS数组降维的实现Array.prototype.concat.apply([], arr)
Apr 28 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版(3)
2006/10/09 PHP
YII实现分页的方法
2014/07/09 PHP
PHP内存缓存Memcached类实例
2014/12/08 PHP
PHP explode()函数的几个应用和implode()函数有什么区别
2015/11/05 PHP
CodeIgniter生成静态页的方法
2016/05/17 PHP
在Laravel中使用MongoDB的方法示例
2019/11/11 PHP
js实现页面打印功能实例代码(附去页眉页脚功能代码)
2009/12/15 Javascript
JS控制显示隐藏兼容问题(IE6、IE7、IE8)
2010/04/01 Javascript
获取客户端电脑日期时间js代码(jquery)
2012/09/12 Javascript
在jQuery中 关于json空对象筛选替换
2013/04/15 Javascript
解决js下referer兼容各大浏览器的方法
2014/11/03 Javascript
js实现网页标题栏闪烁提示效果实例分析
2014/11/20 Javascript
javascript制作的cookie封装及使用指南
2015/01/02 Javascript
深入理解JavaScript系列(33):设计模式之策略模式详解
2015/03/03 Javascript
详解JavaScript中数组的相关知识
2015/07/29 Javascript
浅析BootStrap栅格系统
2016/06/07 Javascript
AngularJS基础 ng-repeat 指令简单示例
2016/08/03 Javascript
Node.js 数据加密传输浅析
2016/11/16 Javascript
Ionic2开发环境搭建教程
2020/08/20 Javascript
Nodejs模块载入运行原理
2018/02/23 NodeJs
JS实现页面跳转与刷新的方法汇总
2019/08/30 Javascript
Vue.js 无限滚动列表性能优化方案
2019/12/02 Javascript
简明 Python 基础学习教程
2007/02/08 Python
在Python中操作列表之List.pop()方法的使用
2015/05/21 Python
将Python代码打包为jar软件的简单方法
2015/08/04 Python
轻量级的Web框架Flask 中模块化应用的实现
2017/09/11 Python
深入理解Python分布式爬虫原理
2017/11/23 Python
Python之列表的插入&amp;替换修改方法
2018/06/28 Python
django项目搭建与Session使用详解
2018/10/10 Python
python实现简单登陆系统
2018/10/18 Python
python通过实例讲解反射机制
2019/10/17 Python
HTML5标签与HTML4标签的区别示例介绍
2013/07/18 HTML / CSS
深入浅析HTML5中的SVG
2015/11/27 HTML / CSS
护士自荐信怎么写
2013/10/18 职场文书
小区文明倡议书
2014/05/16 职场文书
父亲节寄语大全
2015/02/27 职场文书