From 3f5a3be292ad6570fed13117c49e99610f3ce717 Mon Sep 17 00:00:00 2001 From: Chad Hill Date: Wed, 5 Dec 2012 21:35:55 -0800 Subject: [PATCH] expose all item elements via getElement(name) / hasElement(name) --- lib/nodepie.js | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/lib/nodepie.js b/lib/nodepie.js index d5ecb58..de195c8 100644 --- a/lib/nodepie.js +++ b/lib/nodepie.js @@ -641,6 +641,38 @@ NodePie.Item.prototype._parseAuthor = function(author){ /************* ITEM LEVEL PUBLIC METHODS *************/ +/** + * NodePie.Item#getElement(elementName (String)) -> element | null + * + * Fetches the element from this object + * + * Usage: + * + * var item = np.getItem(0); + * var thumb = item.getElement('media:thumbnail'); + * (preview = new Image()).src = thumb.url; + **/ +NodePie.Item.prototype.getElement = function(elementName) { + return ( !this.element[elementName] ? null : this.element[elementName] ); +}; + +/** + * NodePie.Item#hasElement(elementName (String)) -> true | false + * + * Returns true if this object contains an element with name + * + * Usage: + * + * var item = np.getItem(0); + * if (item.hasElement('media:thumbnail')) { + * (preview = new Image()).src = thumb.url; + * } + * + **/ +NodePie.Item.prototype.hasElement = function(elementName) { + return ( this.element[elementName] == null ? false : this.element[elementName] ); +}; + /** * NodePie.Item#getLink([rel="alternate"[, type="text/html"]]) -> StringĀ | False * - rel (String): link rel