X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/7f5e612121a78074e505ad6cf593671ca60e889c..30cd9b94ad82e3c3e1551fb8688eca6144f4a0f6:/src/wlxml/wlxml.js diff --git a/src/wlxml/wlxml.js b/src/wlxml/wlxml.js index 4e1ddc6..5194c19 100644 --- a/src/wlxml/wlxml.js +++ b/src/wlxml/wlxml.js @@ -12,16 +12,16 @@ define([ var WLXMLDocumentNodeMethods = { - isInside: function(klass) { - var parent = this.getParent(klass); + isInside: function(query) { + var parent = this.getParent(query); return !!parent; }, - getParent: function(klass) { + getParent: function(query) { /* globals Node */ var me = this.nodeType === Node.ELEMENT_NODE ? [this] : [], toret; me.concat(this.parents()).some(function(node) { - if(node.is(klass)) { + if(node.is(query)) { toret = node; return true; } @@ -78,8 +78,12 @@ $.extend(WLXMLElementNode.prototype, WLXMLDocumentNodeMethods, smartxml.ElementN return this.setAttr('class', klass); } }, - is: function(klass) { - return this.getClass().substr(0, klass.length) === klass; + is: function(query) { + if(typeof query === 'string') { + query = {klass: query}; + } + return (_.isUndefined(query.klass) || this.getClass().substr(0, query.klass.length) === query.klass) && + (_.isUndefined(query.tagName) || this.getTagName() === query.tagName); }, getMetaAttributes: function() { var toret = new AttributesList(),