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 自定义动画概述及示例
Mar 29 Javascript
通过length属性判断jquery对象是否存在
Oct 18 Javascript
使用javascript实现ListBox左右全选,单选,多选,全请
Nov 07 Javascript
jQuery扁平化风格下拉框美化插件FancySelect使用指南
Feb 10 Javascript
JavaScript Window浏览器对象模型方法与属性汇总
Apr 20 Javascript
echarts学习笔记之图表自适应问题详解
Nov 22 Javascript
javascript高仿热血传奇游戏实现代码
Feb 22 Javascript
在Vue组件上动态添加和删除属性方法
Feb 23 Javascript
使用Angular CLI生成 Angular 5项目教程详解
Mar 18 Javascript
vue.js数据绑定操作详解
Apr 23 Javascript
js实现页面多个日期时间倒计时效果
Jun 20 Javascript
前端JS获取URL参数的4种方法总结
Apr 05 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实现懒加载的方法
2015/03/07 PHP
PHP生成指定随机字符串的简单实现方法
2015/04/01 PHP
php文件操作之小型留言本实例
2015/06/20 PHP
在b/s开发中经常用到的javaScript技术
2006/08/23 Javascript
基于JQuery的类似新浪微博展示信息效果的代码
2012/07/23 Javascript
document.getElementById获取控件对象为空的解决方法
2013/11/20 Javascript
JS取request值以及自动执行使用示例
2014/02/24 Javascript
高性能JavaScript模板引擎实现原理详解
2015/02/05 Javascript
jQuery实现鼠标划过修改样式的方法
2015/04/14 Javascript
jQuery中借助deferred来请求及判断AJAX加载的实例讲解
2016/05/24 Javascript
第三篇Bootstrap网格基础
2016/06/21 Javascript
AngularJS入门教程之 XMLHttpRequest实例讲解
2016/07/27 Javascript
vue.js入门教程之基础语法小结
2016/09/01 Javascript
JavaScript实现倒计时跳转页面功能【实用】
2016/12/13 Javascript
详解node.js搭建代理服务器请求数据
2017/04/08 Javascript
Mac系统下Webstorm快捷键整理大全
2017/05/28 Javascript
微信小程序设置全局请求URL及封装wx.request请求操作示例
2019/04/02 Javascript
python获取目录下所有文件的方法
2015/06/01 Python
详解在Python的Django框架中创建模板库的方法
2015/07/20 Python
pycharm在调试python时执行其他语句的方法
2018/11/29 Python
Python除法之传统除法、Floor除法及真除法实例详解
2019/05/23 Python
python flask 如何修改默认端口号的方法步骤
2019/07/12 Python
由面试题加深对Django的认识理解
2019/07/19 Python
django 自定义过滤器(filter)处理较为复杂的变量方法
2019/08/12 Python
基于django传递数据到后端的例子
2019/08/16 Python
Python count函数使用方法实例解析
2020/03/23 Python
Python任务调度模块APScheduler使用
2020/04/15 Python
Spring http服务远程调用实现过程解析
2020/06/11 Python
python对execl 处理操作代码
2020/06/22 Python
浅析Python 抽象工厂模式的优缺点
2020/07/13 Python
H5离线存储Manifest原理及使用
2020/04/28 HTML / CSS
美国巧克力喷泉品牌:Sephra
2019/05/05 全球购物
高中生学习生活的自我评价
2013/11/27 职场文书
献爱心标语
2014/06/21 职场文书
三分钟自我介绍演讲稿
2014/08/21 职场文书
Nginx源码编译安装过程记录
2021/11/17 Servers