<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; }; }