<p>test1<span>test2</span></p>正则表达式
设置span右浮动,在IE6/7下span会掉到p的下一行的最右边。chrome
解决方案:用绝对定位position:absolute代替。数组
<div>这里听任何内容</div>测试
设置div的height为0,在IE6下无效。动画
解决方案:无需强调动画效果能够用display:none/block代替。spa
<form><button id="test">test</button></form>code
估计不少同窗为了作个简单测试会像上面这样写,像这样写,用js给button绑定点击事件后,在chrome、IE8/9/10/11下,点击会出现事件闪一下而后没反应,而下IE6/7下倒是正常的。这时候会发现闪一下是由于执行了表单默认的提交动做(注意看URL后面多出来一个问号就秒懂了)而没有执行自行绑定的onclick事件。
orm
解决方案:使用<form><input type="button" value="test" id="test" /></form>或者在onclick事件中return false;对象
IE6/7/8不支持getElementsByClassName方法,因此须要本身写。事件
解决方案:如下两种写法提供参考。
//第一种 function getElementsByClassName(className,tag){ //对tag进行过滤,取出全部tag对象 var allTags = document.getElementsByTagName(tag); var matchingElements = new Array(); //正则表达式 className = className.replace(/\-/g,"\\-"); var regex = new RegExp("(^|\\s)" +className+ "(\\s|$)"); var element; //将取出的tag对象存入数组中。 for(var i = 0;i < allTags.length;i++){ element = allTags[i]; if(regex.test(element.className)){ matchingElements.push(element); } } return matchingElements; } if (document.getElementsByClassName) { 。。。 }else{ 。。。 };
//第二种,直接放在js最前面,后面则直接使用getElementsByClassName便可。 if(!document.getElementsByClassName){ document.getElementsByClassName = function(className, element){ var children = (element || document).getElementsByTagName('*'); var elements = new Array(); for (var i=0; i<children.length; i++){ var child = children[i]; var classNames = child.className.split(' '); lassNames.length; j++){ if (classNames[j] for (var j=0; j<c== className){ elements.push(child); break; } } } return elements; }; }