`

IE让人啼笑皆非的bug: 用cell的序号,找不到cell.

阅读更多
先不废话 代码如下:

<html>
 <head>
<script type="text/javascript" >

function init(){

var tab0=document.getElementById('tab0');

	var tr1=document.getElementById('tr1');

	var td3=document.getElementById('td3');

	var idx_tr1=tr1.rowIndex;

	var idx3= td3.cellIndex;



	alert( tab0.tBodies[0].rows[idx_tr1].id  + '\n'+ tr1.cells[idx3].id );

}
</script>
 </head>
 <body onload="init()">
  <table id="tab0" border="1" width="300">
  <tr id="tr0" style="display:none;"><td>.</td><td>.</td><td>.</td><td>.</td><td>.</td></tr>
  <tr id="tr1">
  	<td id="td0">0</td>
	<td id="td1">1</td>
	<td id="td2" style="display:none;">2</td>
	<td id="td3">3</td>
	<td id="td4">4</td>
  </tr>
  </table>
 </body>
</html>



运行后

ie里提示 tr1 td2

ff safari opera下都提示  tr1 和 td3

---------------------------------

总结: 也就是说 在IE里 ,当table中有隐藏的td时 , cellIndex这个属性不再可靠.
但是 当table中有隐藏的tr时 , rowIndex这个属性依然是可靠的.

ie里对 td 隐藏后的 ,在计算 cellIndex时 会当作那个隐藏的td被移除了一样计算
但是 tr的cells集合内却并没有移除那个隐藏的td.

IE的做法实在是 让人无语了
3
4
分享到:
评论
10 楼 fins 2008-10-28  
haole 写道

对于IE来说,&lt;table&gt;内必须包括&lt;tbody&gt;,使用js才可以正确操作


你说的内容和主贴有什么关系? 没看出来

主贴中提到的bug 你加不加tbody都不行
9 楼 haole 2008-10-28  
对于IE来说,<table>内必须包括<tbody>,使用js才可以正确操作
8 楼 tomoya 2008-09-03  
好像IE会把display=none的cell的cellIndex排在最后,而cells[]数组的内部顺序却不会因为display属性而改变,是按照页面上的位置决定的,两者不一致。
7 楼 fins 2008-04-07  
按ms的说法,如下

http://support.microsoft.com/kb/814506

似乎ms并不认为这是一个bug
ms同时提供了一个他们的解决方案:

引用
自动修复程序包安装以下注册表项具有 REG _ DWORD 值为 1:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\Main Count Hidden Table Cells



ray_linn 的 ie注册表里是不是正好有这项啊??
6 楼 fins 2008-04-06  
楼上的确实没有出现这个问题?

你确定是运行我主贴里的代码后 在IE提示的也是  tr1 和 td3 ?

那就奇怪了

你能不能说一下你的ie版本

因为这个bug已经在几十台机器上测试过 ,确实存在了.
5 楼 ray_linn 2008-04-06  
我的IE下好好的,大概是你RP的问题..
4 楼 QuakeWang 2008-04-02  
这是一个很"著名"的老问题
我最初是在webfx的sortable table的脚本里面遇到的,然后他们也采用了和你类似的方法进行了修复:
引用
| 2003-07-04 | Added workaround for IE cellIndex bug.


this.sort(SortableTable.msie ? SortableTable.getCellIndex(el) : el.cellIndex);

// IE returns wrong cellIndex when columns are hidden
SortableTable.getCellIndex = function (oTd) {
	var cells = oTd.parentNode.childNodes
	var l = cells.length;
	var i;
	for (i = 0; cells[i] != oTd && i < l; i++)
		;
	return i;
};


没有想到IE现在还是有这个bug
3 楼 kaipingk 2008-04-02  
微软的东西多又杂,自己实现的东西给外行人看什么都有,什么都可以做,当细细的用它的东西时候会发现很多莫名其妙的不一致的东西,实在是郁闷。
2 楼 unifly 2008-04-02  
微软的伙计干事情也太不严谨了吧,建议将此bug发给IE开发组……
1 楼 fins 2008-04-02  
为解决这一问题,写了一个方法:


	getCellIndex : function(td){
		if (GT.isIE){
			var cells=td.parentNode.cells;
			for (var i=0,j=cells.length;i<j;i++ ){
				if (cells[i]===td){
					return i;
				}
			}
		}
		return td.cellIndex;
	},

相关推荐

    黄钟大吕的意思.doc

    15. 莫名其妙:形容事情或行为让人无法理解,不合常理。 16. 负有盛名:有名望,声誉很高。 17. 赞赏备至:给予高度的赞扬和欣赏。 18. 至若罔闻:完全不理睬,当作没听见。 19. 出类拔萃:形容优秀出众,超过同辈。...

    注册域名要慎重 20大让人啼笑皆非的域名.docx

    注册域名要慎重 20大让人啼笑皆非的域名.docx

    5 十一乐一乐 让程序员崩溃的瞬间().docx

    【程序员崩溃的瞬间】在IT行业中,程序员们经常会遭遇一些让人啼笑皆非,甚至令人崩溃的时刻。这些瞬间往往源于技术细节的疏忽、需求的突然变化或是沟通的不畅,下面我们就来一一探讨。 1. **忘记WHERE条件**:在...

    《读笑话学成语1》41-50.ppt

    7. “惨不忍睹”:形容情景过于悲惨,让人看了感到非常难受,无法忍受。 8. “半信半疑”:表示对某个事情既有些相信,又有些怀疑,无法确定其真假。 9. “筋疲力尽”:形容极度疲劳,体力和精力完全消耗殆尽。 10. ...

    2020年春九年级语文下册第一单元1范进中举一幕令人啼笑皆非的悲喜剧课文同步讲解素材北师大版.doc

    范进中举前的生活极其困苦,他甚至连日常生活都难以维持,正如文中所述:“快”“卖”“饿的两眼都看不见”,这些简洁而有力的描绘,让读者深切感受到范进及其家人的生活不易。但是,一旦范进中举的喜讯传来,四邻的...

    2020年春九年级语文下册 第一单元 1《范进中举》一幕令人啼笑皆非的悲喜剧课文同步讲解素材 北师大版.doc

    这篇小说以范进中举为线索,通过对封建社会的深刻揭露和批判,展现了一个喜中带悲、悲中含喜的复杂社会画卷,让人在笑声中感受泪水的苦涩,展现了封建社会中人性的扭曲和世态的炎凉。 小说《范进中举》通过对比艺术...

    江苏省姜堰市大伦中学八年级语文下册 课外文言文练习二 不食嗟来之食 掷凫猎兔(无答案) 苏教版.doc

    5. 另一篇文言文《掷凫猎兔》讲述了一个不认识鹘(猎鹰)的人,误把凫(野鸭)当作猎鹰买来,试图让它捕兔,结果引发了一场令人啼笑皆非的误会。故事通过寓言的形式,展现了人类的无知和对事物本质的误解。 6. 加点...

    从“雷人”电视剧——谈加强文化建设的重要性

    随着影视产业的快速发展,越来越多的电视剧涌现出来,其中不乏一些让人啼笑皆非的作品,这类作品通常被称为“雷剧”。本文将以“雷人”电视剧为例,探讨当前雷剧所反映的问题,并深入分析其背后的原因,最终提出加强...

    吉林省吉林市朝鲜族四校2020学年高二语文上学期期末联考试题.doc

    7. 逻辑关联词:涉及到关联词的选用,如“所以”、“无论”、“都”、“却”、“即”、“更”等,测试学生对句子逻辑关系的把握。 8. 语病判断:要求学生识别和纠正语病,例如句子的成分残缺、语序不当等问题。 9....

    我的同学写人作文(15篇).docx

    - **性格多样性**:不同的人有不同的性格特点,比如文中提到的“捣蛋鬼”牛庆伟,虽然经常做一些让人啼笑皆非的事情,但他也有着积极的一面,如敢于表达自己的想法、勇于采取行动解决问题。 - **包容性**:面对性格...

    西藏日喀则市高三语文上学期第三次月考试题汉无答案 试题.doc

    1. 字音辨析:题目中涉及到汉字的正确读音,例如"曝晒"的"曝"读作"pù","慰藉"的"藉"读作"jiè","称心"的"称"读作"chèn"等,这些是汉语拼音的基本知识,要求学生掌握常用汉字的正确读音。 2. 错别字辨识:题目...

    自我介绍(150字)作文.doc

    他承认自己偶尔会犯糊涂,比如在数学运算上,他曾经犯过一个让人啼笑皆非的错误:将125乘以30误算成375,导致结果缩小了十倍,或者在做加法时错将其当成了乘法。此外,他在完成作业后,很少去认真检查,这使得错误频...

    志丹2019年事业编招聘考试真题及答案解析网友整理版.docx

    题目7测试对从众行为的理解,其中第一个选项(我一直喜欢蓝色)和第三个选项(既然大家都同意)并未体现个人行为受群体压力影响,而是在描述个人偏好或遵循多数人的决定,不属于从众行为。 7. 特别行政区制度: ...

    黄钟大吕的意思精选.doc

    在文学和艺术中,黄钟大吕常用来形容作品的气势磅礴、格调高雅,或者是人的言行举止具有权威性和影响力。它体现了中国文化对于和谐、庄重和深远意境的追求。 【其他成语解析】 1. 【恍然大悟】形容突然明白过来,...

    2021《你好,李焕英》影片商务合作项目书-26P【精英策划圈】.pdf

    这部电影是中国2021年的春节档电影之一,由贾玲执导,主要讲述了贾晓玲意外穿越回过去,与年轻时的母亲李焕英相遇并发生一系列啼笑皆非的故事。影片以真情打动人心,在春节档期创下了极高的票房纪录,并在观众和评论...

    七人校园爆笑小品三篇.doc

    然而,一场令人啼笑皆非的误会就此展开。A手中的玫瑰,被B误认为是情敌的宣战书,而A的每一个动作都被B解读为恋爱战争中的战术。小品以夸张的手法,通过对话和肢体动作,使得观众在欢声笑语中,感受到了校园生活的...

    高考语文预测卷及答案二精选.doc

    3. 成语运用与语言得体:在选项中出现了成语“溢美之词”、“啼笑皆非”、“分道扬镳”、“独树一帜”等,这些都是考察考生对成语理解及恰当运用的能力。成语是汉语中的固定搭配,使用时要注意其含义和语境是否匹配...

    校园笑话.doc

    校园生活琐事方面,笑话9让我们看到了一些不那么光彩,但也让人啼笑皆非的小插曲。一个学生因为懒得动手,结果引发了一连串的麻烦,这提醒我们,在生活中,任何事情都不能走捷径,要以正确的方式去处理。 最后,在...

    微信幽默搞笑段子秒懂 微信群名搞笑幽默.docx

    - **内容概述**:一位女士在相亲过程中遇到了令人啼笑皆非的情况。 - **知识点**: - **现代社会的婚恋观**:相亲作为一种传统交友方式,在现代社会仍然流行,反映了人们对爱情和婚姻的不同态度。 - **尴尬情境下...

    公务员考 试题库

    1. **背景介绍**:古埃及人依靠尼罗河的泛滥来进行农业生产,对尼罗河泛滥的时间有着严格的依赖性。 2. **词汇辨析**:“揭示”、“遵循”、“总结”和“掌握”四个选项中,“揭示”和“遵循”过于主动,不符合古...

Global site tag (gtag.js) - Google Analytics