兼容集合
针对h5标签,低版本浏览器不识别
解决方法一:
header,
nav,
section,
aside,
article,
footer { display: block; }
解决方法二:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> article { color: #008FD8; font-size: 36px; } </style> <script type="text/javascript"> (function() { if (! /*@cc_on!@*/ 0) return; var e = "abbr, article, aside, audio, canvas, datalist, details, dialog, eventsource, figure, footer, header, hgroup, mark, meter, nav, output, progress, section, time, video".split(", "); var i = e.length; while (i--) { document.createElement(e[i]); } })(); </script> </head> <body> <article>Harold</article> </body> </html>
innerText兼容
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <div id="content"> </div> <script type="text/javascript"> var content = document.getElementById("content"); // 兼容所有浏览器的innerText读取的方法 function getInnerText (element) { return (typeof element.textContent == "string") ? element.textContent : element.innerText; } console.log(getInnerText); // 兼容所有浏览器的innerText的设置方法 function setInnerText (element, text) { if (typeof element.textContent == "string") { element.textContent = text; } else { element.innerText = text; } } setInnerText(content, "Harold") </script> </body> </html>
修复document.getElementById()在低版本浏览器出现的bug()
bug:(IE7)
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <a href="#" name="target">这是错误的元素</a> <p id="target">这是正确的元素</p> <button id="button" type="button">click</button> <script type="text/javascript"> var btn = document.getElementById("button"); btn.onclick = function() { var target = document.getElementById("target"); console.log(target.innerHTML); } </script> </body> </html>
解决方法:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <a href="#" name="target">这是错误的元素</a> <p id="target">这是正确的元素</p> <button id="button" type="button">click</button> <script type="text/javascript"> var getElementById = function(id) { var el = document.getElementById(id); if(!+"\v1") { //低版本IE 识别是\v1,其他浏览器识别是1 if(el && el.id === id) { return el; } else { var els = document.all[id], n = els.length; for (var i = 0; i < n; i++) { if (els[i].id === id) { return els[i]; } } } } return el; }; console.log(getElementById("target")); </script> </body> </html>
1
    略懂,略懂....
                    
                
                
            
        
浙公网安备 33010602011771号