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和json从后台获得数据集的代码
Nov 07 Javascript
text-align:justify实现文本两端对齐 兼容IE
Aug 19 Javascript
node.js cookie-parser之parser.js
Jun 06 Javascript
jQuery EasyUI基础教程之EasyUI常用组件(推荐)
Jul 15 Javascript
JS获取鼠标相对位置的方法
Sep 20 Javascript
Vue.js实现多条件筛选、搜索、排序及分页的表格功能
Nov 24 Javascript
Node.js中读取TXT文件内容fs.readFile()用法
Oct 10 Javascript
详解关于Angular4 ng-zorro使用过程中遇到的问题
Dec 05 Javascript
JavaScript数据结构与算法之二叉树插入节点、生成二叉树示例
Feb 21 Javascript
JavaScript代码异常监控实现过程详解
Feb 17 Javascript
解决ant Design中this.props.form.validateFields未执行的问题
Oct 27 Javascript
HTML元素拖拽功能实现的完整实例
Dec 04 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把网页保存为word文件的三种方法
2014/04/01 PHP
Linux基于php-fpm模式的lamp搭建phpmyadmin的方法
2018/10/25 PHP
use jscript with List Proxy Server Information
2007/06/11 Javascript
javascript数组详解
2014/10/22 Javascript
基于JQuery制作可编辑的表格特效
2014/12/23 Javascript
JS实现很实用的对联广告代码(可自适应高度)
2015/09/18 Javascript
Javascript之Math对象详解
2016/06/07 Javascript
WebSocket+node.js创建即时通信的Web聊天服务器
2016/08/08 Javascript
详解使用Vue.Js结合Jquery Ajax加载数据的两种方式
2017/01/10 Javascript
Node.js websocket使用socket.io库实现实时聊天室
2017/02/20 Javascript
微信小程序教程系列之视图层的条件渲染(10)
2017/04/19 Javascript
js随机生成一个验证码
2017/06/01 Javascript
在Vue组件上动态添加和删除属性方法
2018/02/23 Javascript
jQuery幻灯片插件owlcarousel参数说明中文文档
2018/02/27 jQuery
浅谈webpack-dev-server的配置和使用
2018/05/17 Javascript
快速解决vue-cli在ie9+中无效的问题
2018/09/04 Javascript
node.js制作一个简单的登录拦截器
2020/02/10 Javascript
原生js+canvas实现贪吃蛇效果
2020/08/02 Javascript
Python使用dis模块把Python反编译为字节码的用法详解
2016/06/14 Python
基于Python和Scikit-Learn的机器学习探索
2017/10/16 Python
详解python 拆包可迭代数据如tuple, list
2017/12/29 Python
python数字图像处理之骨架提取与分水岭算法
2018/04/27 Python
解决Jupyter无法导入已安装的 module问题
2020/04/17 Python
Django自带用户认证系统使用方法解析
2020/11/12 Python
Python基于Faker假数据构造库
2020/11/30 Python
HTML5 Canvas画线技巧——实现绘制一个像素宽的细线
2013/08/02 HTML / CSS
公司JAVA开发面试题
2015/04/02 面试题
网络编程中设计并发服务器,使用多进程与多线程,请问有什么区别?
2016/03/27 面试题
卫校毕业生自我鉴定
2013/10/31 职场文书
商务日语毕业生自荐信
2013/11/23 职场文书
师范生个人推荐信
2013/11/29 职场文书
工地材料员岗位职责
2015/04/11 职场文书
餐饮服务食品安全承诺书
2015/04/29 职场文书
学校趣味运动会开幕词
2016/03/04 职场文书
pytorch中Schedule与warmup_steps的用法说明
2021/05/24 Python
Python探索生命起源 matplotlib细胞自动机动画演示
2022/04/21 Python