diff --git a/js/tinyDOM.js b/js/tinyDOM.js index 603028d3c7c24c09028e59235b3e0ee3cd789625..e4898fab963c8e177e5c4736e4aa121f5876a54c 100644 --- a/js/tinyDOM.js +++ b/js/tinyDOM.js @@ -126,8 +126,20 @@ return null; } }, - parent: function() { - return tinyDOM(this[0].parentNode); + parent: function(selector) { + var e = this[0].parentNode, stn = true; + if (tinyDOM.exists(selector)) { + while (e != null && e != document) { + if (e.matches(selector)) { + stn = false; + break; + } else { + e = e.parentNode; + } + } + e = stn ? null : e; + } + return tinyDOM(e); }, children: function() { var n = this[0].childNodes,