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 相关文章推荐
前后台交互过程中json格式如何解析以及如何生成
Dec 26 Javascript
关于JavaScript中的关联数组分析
Apr 09 Javascript
html+javascript实现可拖动可提交的弹出层对话框效果
Aug 05 Javascript
jquery的attr方法禁用表单元素禁用输入内容
Jun 23 Javascript
理解jQuery stop()方法
Nov 21 Javascript
关于JSON与JSONP简单总结
Aug 16 Javascript
Angular2开发环境搭建教程之VS Code
Dec 15 Javascript
vue 实现全选全不选的示例代码
Mar 29 Javascript
vue移动端弹框组件的实例
Sep 25 Javascript
JS中的防抖与节流及作用详解
Apr 01 Javascript
javascript设计模式 ? 策略模式原理与用法实例分析
Apr 21 Javascript
Vue中 axios delete请求参数操作
Aug 25 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 $_SERVER windows系统与linux系统下的区别说明
2014/02/14 PHP
PHP实现的英文名字全拼随机排号脚本
2014/07/04 PHP
PHP中register_shutdown_function函数的基础介绍与用法详解
2017/11/28 PHP
用dtree实现树形菜单 dtree使用说明
2011/10/17 Javascript
jQuery根据纬度经度查看地图处理程序
2013/05/08 Javascript
使用JS CSS去除IE链接虚线框的三种方法
2013/11/14 Javascript
JavaScript实现删除,移动和复制文件的方法
2015/08/05 Javascript
详解js运算符单竖杠“|”与“||”的用法和作用介绍
2016/11/04 Javascript
浅谈js算法和流程控制
2016/12/29 Javascript
Node.js获取前端ajax提交的request信息
2017/02/20 Javascript
详解前端路由实现与react-router使用姿势
2017/08/07 Javascript
bootstrap table sum总数量统计实现方法
2017/10/29 Javascript
详解Vuex管理登录状态
2017/11/13 Javascript
Bootstrap Table 搜索框和查询功能
2017/11/30 Javascript
[原创]微信小程序获取网络类型的方法示例
2019/03/01 Javascript
Vue中跨域及打包部署到nginx跨域设置方法
2019/08/26 Javascript
vue项目部署到nginx/tomcat服务器的实现
2019/08/26 Javascript
js仿360开机效果
2019/12/26 Javascript
基于vue+echarts数据可视化大屏展示的实现
2020/12/25 Vue.js
React服务端渲染原理解析与实践
2021/03/04 Javascript
让python在hadoop上跑起来
2016/01/27 Python
python ChainMap的使用和说明详解
2019/06/11 Python
Python使用selenium + headless chrome获取网页内容的方法示例
2019/10/16 Python
python 成功引入包但无法正常调用的解决
2020/03/09 Python
python 高阶函数简单介绍
2021/02/19 Python
pandas数据分组groupby()和统计函数agg()的使用
2021/03/04 Python
Canvas多边形绘制的实现方法
2019/08/05 HTML / CSS
澳大利亚波西米亚风连衣裙在线商店:Fortunate One
2019/04/01 全球购物
高一物理教学反思
2014/01/24 职场文书
家长给孩子的评语
2014/01/30 职场文书
护理学专业求职信
2014/06/29 职场文书
先进单位申报材料
2014/12/25 职场文书
2015国际残疾人日活动总结
2015/03/24 职场文书
旅游投诉信范文
2015/07/02 职场文书
教师学期述职自我鉴定
2019/08/16 职场文书
MySQL系列之十五 MySQL常用配置和性能压力测试
2021/07/02 MySQL