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 相关文章推荐
为开发者准备的10款最好的jQuery日历插件
Feb 04 Javascript
jQuery浏览器CSS3特写兼容实例
Jan 19 Javascript
Node.js 条形码识别程序构建思路详解
Feb 14 Javascript
利用vue-router实现二级菜单内容转换
Nov 30 Javascript
javaScript中定义类或对象的五种方式总结
Dec 04 Javascript
Jquery根据浏览器窗口改变调整大小的方法
Feb 07 Javascript
js a标签点击事件
Mar 30 Javascript
详解用vue-cli来搭建vue项目和webpack
Apr 20 Javascript
利用PM2部署node.js项目的方法教程
May 10 Javascript
解析Vue2 dist 目录下各个文件的区别
Nov 22 Javascript
微信小程序实现弹出菜单功能
Jun 12 Javascript
解决vue keep-alive 数据更新的问题
Sep 21 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制作静态网站的模板框架(四)
2006/10/09 PHP
Thinkphp中的volist标签用法简介
2014/06/18 PHP
CodeIgniter框架数据库基本操作示例
2018/05/24 PHP
PHP耦合设计模式实例分析
2018/08/08 PHP
使用swoole 定时器变更超时未支付订单状态的解决方案
2019/07/24 PHP
tp5框架无刷新分页实现方法分析
2019/09/26 PHP
javascript里的条件判断
2007/02/27 Javascript
JavaScript window.setTimeout() 的详细用法
2009/11/04 Javascript
解读JavaScript代码 var ie = !-[1,] 最短的IE判定代码
2011/05/28 Javascript
深入了解Node.js中的一些特性
2014/09/25 Javascript
JS仿iGoogle自定义首页模块拖拽特效的方法
2015/02/13 Javascript
Jquery $when done then的用法详解
2016/05/20 Javascript
如何清除IE10+ input X 文本框的叉叉和密码输入框的眼睛图标
2016/12/21 Javascript
原生JS发送异步数据请求
2017/06/08 Javascript
webpack 1.x升级过程中的踩坑总结大全
2017/08/09 Javascript
浅谈js中的this问题
2017/08/31 Javascript
fetch 使用及如何接收JS传值
2017/11/11 Javascript
简单说说angular.json文件的使用
2018/10/29 Javascript
webpack 最佳配置指北(推荐)
2020/01/07 Javascript
Python中使用scapy模拟数据包实现arp攻击、dns放大攻击例子
2014/10/23 Python
详细介绍Ruby中的正则表达式
2015/04/10 Python
python迭代器与生成器详解
2016/03/10 Python
20招让你的Python飞起来!
2016/09/27 Python
Python分析彩票记录并预测中奖号码过程详解
2019/07/09 Python
Python操作多维数组输出和矩阵运算示例
2019/11/28 Python
澳大利亚家具和家居用品在线商店:Interiors Online
2018/03/05 全球购物
英国顶级水晶珠宝零售商之一:Tresor Paris
2019/04/27 全球购物
adidas泰国官网:adidas TH
2020/07/11 全球购物
中兴通讯全球官方网站:ZTE
2020/12/26 全球购物
在DELPHI中调用存储过程和使用内嵌SQL哪种方式更好
2016/11/22 面试题
电气专业推荐信范文
2013/11/18 职场文书
市场部规章制度
2014/01/24 职场文书
商铺租赁意向书
2014/04/01 职场文书
作文批改评语大全
2014/04/23 职场文书
win10滚动条自动往上跑怎么办?win10滚动条自动往上跑的解决方法
2022/08/05 数码科技
keepalived + nginx 实现高可用方案
2022/12/24 Servers