diff --git a/src/Core.js b/src/Core.js
index 95a429cb528626e45993b5271eb8aa73493f6da0..0993226cf229207f9074dae1d169675f0e49757d 100644
--- a/src/Core.js
+++ b/src/Core.js
@@ -24,7 +24,7 @@ TinyDOMFunction = function (selector) {
 
     if (selector === null || typeof (selector) === 'undefined') {
         this.length = 0;
-    } else if (typeof (selector) === 'string') {
+    } else if (selector.substring) {
         elements = document.querySelectorAll(selector);
 
         this.length = elements.length;
@@ -32,11 +32,12 @@ TinyDOMFunction = function (selector) {
             e = elements.item(i);
             this[i] = e;
         }
-    } else if (selector.length) {
+    } else if (selector.push) {
         for (i = 0; i < selector.length; i++) {
             e = selector[i];
             this[i] = e;
         }
+        this.length = selector.length;
     } else {
         this[0] = selector;
         this.length = 1;