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 相关文章推荐
suggestion开发小结以及对键盘事件的总结(针对中文输入法状态)
Dec 20 Javascript
淘宝网提供的国内NPM镜像简介和使用方法
Apr 17 Javascript
JavaScript中使用typeof运算符需要注意的几个坑
Nov 08 Javascript
javascript实现带节日和农历的日历特效
Feb 01 Javascript
JS根据key值获取URL中的参数值及把URL的参数转换成json对象
Aug 26 Javascript
在AngularJS中使用jQuery的zTree插件的方法
Apr 21 Javascript
Javascript 6里的4个新语法
Aug 25 Javascript
浅谈es6 javascript的map数据结构
Dec 14 Javascript
AngularJS 多指令Scope问题的解决
Oct 25 Javascript
微信小程序人脸识别功能代码实例
May 07 Javascript
layui 弹出层回调获取弹出层数据的例子
Sep 02 Javascript
vue-drag-chart 拖动/缩放图表组件的实例代码
Apr 10 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获取http请求的头信息实现步骤
2012/12/16 PHP
ThinkPHP开发框架函数详解:C方法
2015/08/14 PHP
PHP实现微信退款的方法示例
2019/03/26 PHP
解决PHPstudy Apache无法启动的问题【亲测有效】
2020/10/30 PHP
File文件控件,选中文件(图片,flash,视频)即立即预览显示
2009/04/09 Javascript
JavaScript iframe的相互操作浅析
2009/10/14 Javascript
JavaScript动态加载样式表的方法
2015/03/21 Javascript
基于Css3和JQuery实现打字机效果
2015/08/11 Javascript
学习JavaScript设计模式之迭代器模式
2016/01/19 Javascript
JS提示:Uncaught SyntaxError: Unexpected token ILLEGAL错误的解决方法
2016/08/19 Javascript
解决拦截器对ajax请求的拦截实例详解
2016/12/21 Javascript
jQuery中弹出iframe内嵌页面元素到父页面并全屏化的实例代码
2016/12/27 Javascript
jQuery实现鼠标跟随效果
2017/02/20 Javascript
深入理解React中何时使用箭头函数
2017/08/23 Javascript
详解使用vscode+es6写nodejs服务端调试配置
2017/09/21 NodeJs
Angularjs过滤器实现动态搜索与排序功能示例
2017/12/13 Javascript
Vue项目全局配置页面缓存之按需读取缓存的实现详解
2018/08/01 Javascript
基于vue-cli、elementUI的Vue超简单入门小例子(推荐)
2019/04/17 Javascript
vue实践---根据不同环境,自动转换请求的url地址操作
2020/09/21 Javascript
JavaScript canvas实现雨滴特效
2021/01/10 Javascript
[05:24]TI9采访——教练
2019/08/24 DOTA
使用Python+Splinter自动刷新抢12306火车票
2018/01/03 Python
详解Python if-elif-else知识点
2018/06/11 Python
python 列表降维的实例讲解
2018/06/28 Python
python 读取视频,处理后,实时计算帧数fps的方法
2018/07/10 Python
python字符串Intern机制详解
2019/07/01 Python
python列表,字典,元组简单用法示例
2019/07/11 Python
Django使用unittest模块进行单元测试过程解析
2019/08/02 Python
python爬虫 urllib模块url编码处理详解
2019/08/20 Python
python实现大学人员管理系统
2019/10/25 Python
如何查看Django ORM执行的SQL语句的实现
2020/04/20 Python
python中怎么表示空值
2020/06/19 Python
2014年党员承诺书范文
2014/05/20 职场文书
旅游节目策划方案
2014/05/26 职场文书
Python利器openpyxl之操作excel表格
2021/04/17 Python
Golang 遍历二叉树
2022/04/19 Golang