Skip to content

Instantly share code, notes, and snippets.

@kyungw00k
Forked from chrisjlee/querySelector.polyfill.js
Created October 10, 2016 04:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kyungw00k/396216e21d372d3ef580277ffd210049 to your computer and use it in GitHub Desktop.
Save kyungw00k/396216e21d372d3ef580277ffd210049 to your computer and use it in GitHub Desktop.
IE document.querySelector() polyfill
if (!document.querySelectorAll) {
document.querySelectorAll = function (selectors) {
var style = document.createElement('style'), elements = [], element;
document.documentElement.firstChild.appendChild(style);
document._qsa = [];
style.styleSheet.cssText = selectors + '{x-qsa:expression(document._qsa && document._qsa.push(this))}';
window.scrollBy(0, 0);
style.parentNode.removeChild(style);
while (document._qsa.length) {
element = document._qsa.shift();
element.style.removeAttribute('x-qsa');
elements.push(element);
}
document._qsa = null;
return elements;
};
}
if (!document.querySelector) {
document.querySelector = function (selectors) {
var elements = document.querySelectorAll(selectors);
return (elements.length) ? elements[0] : null;
};
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment