| 13 | |
| 14 | //detect Class function |
| 15 | function hasClass(className) { |
| 16 | if (!document.getElementsByClassName) { |
| 17 | //class name function in old IE |
| 18 | document.getElementsByClassName = function (search) { |
| 19 | var d = document, |
| 20 | elements, |
| 21 | pattern, |
| 22 | i, |
| 23 | results = []; |
| 24 | if (d.querySelectorAll) { |
| 25 | // IE8 |
| 26 | return d.querySelectorAll('.' + search); |
| 27 | } |
| 28 | if (d.evaluate) { |
| 29 | // IE6, IE7 |
| 30 | pattern = |
| 31 | ".//*[contains(concat(' ', @class, ' '), ' " + search + " ')]"; |
| 32 | elements = d.evaluate(pattern, d, null, 0, null); |
| 33 | while ((i = elements.iterateNext())) { |
| 34 | results.push(i); |
| 35 | } |
| 36 | } else { |
| 37 | elements = d.getElementsByTagName('*'); |
| 38 | pattern = new RegExp('(^|\\s)' + search + '(\\s|$)'); |
| 39 | for (i = 0; i < elements.length; i++) { |
| 40 | if (pattern.test(elements[i].className)) { |
| 41 | results.push(elements[i]); |
| 42 | } |
| 43 | } |
| 44 | } |
| 45 | return results; |
| 46 | }; |
| 47 | } |
| 48 | return !!document.getElementsByClassName(className).length; //return a boolean |
| 49 | } |
| 50 | |
| 51 | //feature list |
| 52 | if (hasClass('list-features')) { |