vonko1988

JS_DOM_Shim

May 25th, 2014
273
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var button = document.getElementById('execute');
  2. var button1 = document.getElementById('execute1');
  3.  
  4. button.onclick = execute;
  5. button1.onclick = execute1;
  6.  
  7. function execute() {
  8.     (function() {
  9.         if (!document.querySelector) {
  10.             document.querySelector = function(selector) {
  11.                 switch (selector.charAt(0)) {
  12.                     case '#':
  13.                         return document.getElementById(selector.substring(1));
  14.                         break;
  15.                     case '.':
  16.                         return document.getElementsByClassName(selector.substring(1))[0];
  17.                         break;
  18.                     default:
  19.                         return document.getElementsByTagName(selector)[0];
  20.                         break;
  21.                 }
  22.             }
  23.         }
  24.  
  25.     }());
  26.  
  27.     var wrapper = document.querySelector('#wrapper');
  28.     wrapper.style.background = 'blue';
  29. }
  30.  
  31. function execute1() {
  32.     (function check() {
  33.         if (!document.querySelectorAll) {
  34.             document.querySelectorAll = function(selector) {
  35.                 switch (selector.charAt(0)) {
  36.                     case '#':
  37.                         return document.getElementById(selector.substring(1));
  38.                         break;
  39.                     case '.':
  40.                         return document.getElementsByClassName(selector.substring(1));
  41.                         break;
  42.                     default:
  43.                         return document.getElementsByTagName(selector);
  44.                         break;
  45.                 }
  46.             }
  47.         }
  48.     }());
  49.  
  50.     var divs = document.querySelectorAll('.innerDiv');
  51.  
  52.     for (var i = 0; i < divs.length; i++) {
  53.         divs[i].style.background = 'pink';
  54.     };
  55. }
  56.  
  57. //Here we implement the method getElementsByClassName because it is not supported on IE8
  58. document.getElementsByClassName = function(cl) {
  59.     var retnode = [];
  60.     var elem = this.getElementsByTagName('*');
  61.     for (var i = 0; i < elem.length; i++) {
  62.         if ((' ' + elem[i].className + ' ').indexOf(' ' + cl + ' ') > -1) retnode.push(elem[i]);
  63.     }
  64.     return retnode;
  65. };
Advertisement
Add Comment
Please, Sign In to add comment