ie-innerHTML
2009-09-23 21:45 wlstyle 阅读(402) 评论(0) 收藏 举报
今天碰到一个问题,原本初始化正常的组件,在特定情况下显示不正常。最后经过分析是出在innerHTML这个操作上。原来的函数操作是取出元素的innerHTML然后做相应的处理再将处理后的内容置入原本这个元素中。ff中没有任何问题。ie中显示就会错位。经过对比即使取出innerHTML置入重新置入一遍,问题依然存在。分析之是ie取出元素的时候就经过了处理,这段innerHTML其实结构上有问题,不符合html的标准。初步怀疑是ie取出的innerHTML是经过ie处理的。因为再次置入后,原先这段innerHTML中的元素就移位了。不在包含这个元素中。
结论:在ie下当html结构中存在不合理比如(div直接包含li)而又在严格的doctype下。初次置入的时候没有问题 。当重新取innerHTML然后重新置入会发生某种”重排效应“。解决方式:确保结构合理
注:ie指ie8,ie7,ie6,ff指firefox3.5,页面采用strict的doctype
结论:在ie下当html结构中存在不合理比如(div直接包含li)而又在严格的doctype下。初次置入的时候没有问题 。当重新取innerHTML然后重新置入会发生某种”重排效应“。解决方式:确保结构合理
注:ie指ie8,ie7,ie6,ff指firefox3.5,页面采用strict的doctype
浙公网安备 33010602011771号