diff options
| author | Michael Williamson <mike@zwobble.org> | 2013-05-04 16:13:56 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2013-05-04 16:13:56 +0100 |
| commit | efca7fab18dfc9d6cc384bd133ecb57016784260 (patch) | |
| tree | 8daaf8ff47bfe6cd3deed07b1395d0bec82b3c82 /lib/html-paths.js | |
| parent | 8cf5cf90366a4f5f8e0efaf3bb39c0c4f8f512e0 (diff) | |
Allow HTML path element part to match multiple tag names
Diffstat (limited to 'lib/html-paths.js')
| -rw-r--r-- | lib/html-paths.js | 29 |
1 files changed, 24 insertions, 5 deletions
diff --git a/lib/html-paths.js b/lib/html-paths.js index 1d3b1f4..9ecb6dd 100644 --- a/lib/html-paths.js +++ b/lib/html-paths.js @@ -20,10 +20,29 @@ function elements(elementStyles) { function element(tagName, attributes, options) { options = options || {}; - return { - tagName: tagName, - attributes: attributes || {}, - fresh: options.fresh - }; + return new Element(tagName, attributes, options); } +function Element(tagName, attributes, options) { + var tagNames = {}; + if (_.isArray(tagName)) { + tagName.forEach(function(tagName) { + tagNames[tagName] = true; + }); + tagName = tagName[0]; + } else { + tagNames[tagName] = true; + } + + this.tagName = tagName; + this.tagNames = tagNames; + this.attributes = attributes || {}; + this.fresh = options.fresh; +} + +Element.prototype.matchesElement = function(element) { + return this.tagNames[element.tagName]; +} + + + |
