define([
'libs/jquery',
+ 'libs/underscore',
'libs/backbone',
'smartxml/events'
-], function($, Backbone, events) {
+], function($, _, Backbone, events) {
'use strict';
$.extend(ElementNode.prototype, DocumentNode.prototype, {
nodeType: Node.ELEMENT_NODE,
+ setData: function(key, value) {
+ if(value !== undefined) {
+ this._$.data(key, value);
+ } else {
+ this._$.removeData(_.keys(this._$.data()));
+ this._$.data(key);
+ }
+ },
+
+ getData: function(key) {
+ if(key) {
+ return this._$.data(key);
+ }
+ return this._$.data();
+ },
+
getTagName: function() {
return this.nativeNode.tagName.toLowerCase();
},