querySelector and querySelectorAll polyfill (working with IE7, @todo test with IE6)
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