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笔试题目附答案@20081025_jb51.net
Oct 26 Javascript
密码强度检测效果实现原理与代码
Jan 04 Javascript
js改变文章字体大小的实例代码
Nov 27 Javascript
javascript特殊用法示例介绍
Nov 29 Javascript
使用jQuery的attr方法来修改onclick值
Jul 07 Javascript
JavaScript按值删除数组元素的方法
Apr 24 Javascript
javascript实现判断鼠标的状态
Jul 10 Javascript
JS实现图片垂直居中显示小结
Dec 13 Javascript
JS实现的将html转为pdf功能【基于浏览器端插件jsPDF】
Feb 06 Javascript
解决vue项目nginx部署到非根目录下刷新空白的问题
Sep 27 Javascript
laravel实现中文和英语互相切换的例子
Sep 30 Javascript
仿照Element-ui实现一个简易的$message方法
Sep 14 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常用操作类之通信数据封装类的实现
2017/07/16 PHP
PHP如何实现订单的延时处理详解
2017/12/30 PHP
详解json在php中的应用
2018/09/30 PHP
详解PHP中curl_multi并发的实现
2020/06/08 PHP
Javascript-Mozilla和IE中的一个函数直接量的问题分析
2007/08/12 Javascript
jquery 模拟类搜索框自动完成搜索提示功能(改进)
2010/05/24 Javascript
利用google提供的API(JavaScript接口)获取网站访问者IP地理位置的代码详解
2010/07/24 Javascript
用jquery设置按钮的disabled属性的实现代码
2010/11/28 Javascript
js展开闭合效果演示代码
2013/07/24 Javascript
非常漂亮的JS+CSS图片幻灯切换特效
2013/11/20 Javascript
js星星评分效果
2014/07/24 Javascript
js操作数组函数实例小结
2015/12/10 Javascript
JS+JSP通过img标签调用实现静态页面访问次数统计的方法
2015/12/14 Javascript
jQuery实现下拉框左右移动(全部移动,已选移动)
2016/04/15 Javascript
JSON字符串转换JSONObject和JSONArray的方法
2016/06/03 Javascript
AngularJS 服务详细讲解及示例代码
2016/08/17 Javascript
使用express搭建一个简单的查询服务器的方法
2018/02/09 Javascript
Vue.js做select下拉列表的实例(ul-li标签仿select标签)
2018/03/02 Javascript
js实现按钮开关单机下拉菜单效果
2018/11/22 Javascript
JavaScript eval()函数定义及使用方法详解
2020/07/07 Javascript
python里将list中元素依次向前移动一位
2014/09/12 Python
自动化Nginx服务器的反向代理的配置方法
2015/06/28 Python
python实现计算倒数的方法
2015/07/11 Python
详解django+django-celery+celery的整合实战
2019/03/19 Python
PyQt5的PyQtGraph实践系列3之实时数据更新绘制图形
2019/05/13 Python
Python表达式的优先级详解
2020/02/18 Python
python画图常规设置方式
2020/03/05 Python
全球知名旅游社区巴西站点:TripAdvisor巴西
2016/07/21 全球购物
计算机求职信
2013/12/01 职场文书
应届本科生推荐信范文
2013/12/25 职场文书
教师新年寄语
2014/04/03 职场文书
银行竞聘演讲稿范文
2014/04/23 职场文书
反腐倡廉演讲稿
2014/05/22 职场文书
兵马俑的导游词
2015/02/02 职场文书
人生一定要学会的三样东西:放下、忘记、珍惜
2019/08/21 职场文书
python实现黄金分割法的示例代码
2021/04/28 Python