IE7 이하에서 querySelectorAll 를 지원해주는 방법
IE7 을 쓸일은 요즘은 그닥 없을거다.
사실 아예 주요 포탈들도 IE7 지원을 안하기로 마음먹은 경우도 많고 기본적으로 IE8 부터이다.
하지만 종종 IE7 도 지원하게 만들고 싶은경우도 존재한다.
이 때 골치거리중 하나인 querySelectorAll 을 지원하기 위한 방법이다.
단지 javascript 코드를 한줄 추가해주자.
// IE7 support for querySelectorAll. Supports multiple / grouped selectors and the attribute selector with a "for" attribute. http://www.codecouch.com/ (function(d, s) { d=document, s=d.createStyleSheet(); d.querySelectorAll = function(r, c, i, j, a) { a=d.all, c=[], r = r.replace(/\[for\b/gi, '[htmlFor').split(','); for (i=r.length; i--;) { s.addRule(r[i], 'k:v'); for (j=a.length; j--;) a[j].currentStyle.k && c.push(a[j]); s.removeRule(0); } return c; } })()
한줄이 아니라고? 그렇다면 한줄로 주도록 하지.
(function(d,s){d=document,s=d.createStyleSheet();d.querySelectorAll=function(r,c,i,j,a){a=d.all,c=[],r=r.replace(/\[for\b/gi,'[htmlFor').split(',');for(i=r.length;i--;){s.addRule(r[i],'k:v');for(j=a.length;j--;)a[j].currentStyle.k&&c.push(a[j]);s.removeRule(0)}return c}})()
querySelector 를 사용하기 전에 먼저 추가해주면 된다.
'IT > Javascript' 카테고리의 다른 글
Emscripten CentOS7에 설치하기 (0) | 2017.11.13 |
---|---|
IE8 이하에서 trim 기능 지원하기 (0) | 2016.11.23 |
IE7 이하에서 JSON 오브젝트를 지원해주는 방법 (0) | 2016.11.10 |
각 브라우저에서 사용중인 언어 알아내기 (0) | 2016.08.07 |
URL 형식인지를 체크하는 정규식 js함수 (1) | 2016.07.26 |